Super Resolution using CNN

Important: Before proceed, go to Edit -> Notebook settings to make sure you've selected TPU as Hardware accelerator

Preparation

Download data from GCS

In [1]:
!gsutil cp gs://project3ads/image_data.tar.gz dataset.tar.gz
  
!gunzip -c dataset.tar.gz | tar xopf -
Copying gs://project3ads/image_data.tar.gz...
\ [1 files][215.5 MiB/215.5 MiB]                                                
Operation completed over 1 objects/215.5 MiB.                                    
In [0]:
path_HR = "./train_set/HR/"
path_LR = "./train_set/LR/"
In [0]:
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt

def plot_img(img):
  plt.imshow(img)
  plt.axis('off')
  plt.show()

Split training, testing and validation set

In [0]:
# split to training, test and validation set
import random
import math
import os

train_percentage = 0.7
validation_percentage = 0.2
test_percentage = 1 - train_percentage - validation_percentage

imgs_name = np.unique(np.array([x.replace('._','') for x in os.listdir(path_HR)]))
n = len(imgs_name)
indices = np.array(list(range(0, n)))
# randomly draw train_percentage * n samples from that array and move corresponding files to train
train_and_val = np.array(random.sample(range(0, n), math.floor((train_percentage+validation_percentage) * n)))
train_indices = train_and_val[0: math.floor(train_percentage*n)+1]
val_indices = train_and_val[math.floor(train_percentage*n)+1: ]
# randomly draw validation_percentage * n samples from the rest and move to valid
test_indices = np.delete(indices, train_and_val)

train_n = len(train_indices)
val_n = len(val_indices)
test_n = len(test_indices)

Define generators to feed data into the model for training purpose

In [0]:
target_shape = (430, 568, 3)

def preprocess_img(name, method):
  input_img = Image.open(path_LR + name)
  output_img = Image.open(path_HR + name)
  
  if method == 'flip':
    input_img = input_img.transpose(Image.FLIP_TOP_BOTTOM)
    output_img = output_img.transpose(Image.FLIP_TOP_BOTTOM)
  
  input_img = input_img.resize((target_shape[1], target_shape[0]), Image.BICUBIC)
  output_img = output_img.resize((target_shape[1], target_shape[0]), Image.BICUBIC)
  
  
    
  input_img = np.array(input_img)
  output_img = np.array(output_img)
  input_img = input_img / 255.0
  output_img = output_img / 255.0
  
  return (input_img, output_img)
      

def image_generator(input_path, output_path, names, batch_size = 16):
    
  while True:
    
    num_of_images = math.floor(batch_size / 2)
    
    batch_paths = np.random.choice(a = names, 
                                   size = num_of_images)

    batch_input = np.zeros([batch_size, target_shape[0], target_shape[1], 3])
    batch_output = np.zeros([batch_size, target_shape[0], target_shape[1], 3])
    i = 0

    # Read in each input, perform preprocessing and get labels  
    
    for name in batch_paths:
 
      (input_img, output_img) = preprocess_img(name, 'normal')      
      batch_input[i] = input_img 
      batch_output[i] = output_img
      i += 1
      if i >= batch_size:
        break
        
      
      (input_img, output_img) = preprocess_img(name, 'flip')      
      batch_input[i] = input_img 
      batch_output[i] = output_img
      i += 1
      if i >= batch_size:
        break
        
    
    
    # Return a tuple of (input,output) to feed the network
    batch_x = np.array( batch_input )
    batch_y = np.array( batch_output )
    
    
    
    yield( batch_x, batch_y )
    
    
def val_image_generator(input_path, output_path, names, batch_size = 16):
    
  while True:
    
    batch_paths = np.random.choice(a = names, 
                                   size = batch_size)

    batch_input = np.zeros([batch_size, target_shape[0], target_shape[1], 3])
    batch_output = np.zeros([batch_size, target_shape[0], target_shape[1], 3])
    i = 0

    # Read in each input, perform preprocessing and get labels  
    
    for name in batch_paths:
 
      (input_img, output_img) = preprocess_img(name, 'normal')      
      batch_input[i] = input_img 
      batch_output[i] = output_img
      i += 1
      
    
    # Return a tuple of (input,output) to feed the network
    batch_x = np.array( batch_input )
    batch_y = np.array( batch_output )
    
    
    
    yield( batch_x, batch_y )

Model definition

Use the model mentioned here as a reference: DSRCNN model https://github.com/titu1994/Image-Super-Resolution

Graph for DSRCNN model

In [7]:
import tensorflow as tf

init = tf.keras.layers.Input(shape = target_shape)
level1_1 = tf.keras.layers.Conv2D(64, (3, 3), activation='relu', padding='same')(init)
level2_1 = tf.keras.layers.Conv2D(64, (3, 3), activation='relu', padding='same')(level1_1)

level2_2 = tf.keras.layers.Convolution2DTranspose(64, (3, 3), activation='relu', padding='same')(level2_1)
level2 = tf.keras.layers.Add()([level2_1, level2_2])

level1_2 = tf.keras.layers.Convolution2DTranspose(64, (3, 3), activation='relu', padding='same')(level2)
level1 = tf.keras.layers.Add()([level1_1, level1_2])

decoded = tf.keras.layers.Conv2D(3, (5, 5), activation='linear', padding='same')(level1)

model = tf.keras.models.Model(init, decoded)
model.summary()
__________________________________________________________________________________________________
Layer (type)                    Output Shape         Param #     Connected to                     
==================================================================================================
input_1 (InputLayer)            (None, 430, 568, 3)  0                                            
__________________________________________________________________________________________________
conv2d (Conv2D)                 (None, 430, 568, 64) 1792        input_1[0][0]                    
__________________________________________________________________________________________________
conv2d_1 (Conv2D)               (None, 430, 568, 64) 36928       conv2d[0][0]                     
__________________________________________________________________________________________________
conv2d_transpose (Conv2DTranspo (None, 430, 568, 64) 36928       conv2d_1[0][0]                   
__________________________________________________________________________________________________
add (Add)                       (None, 430, 568, 64) 0           conv2d_1[0][0]                   
                                                                 conv2d_transpose[0][0]           
__________________________________________________________________________________________________
conv2d_transpose_1 (Conv2DTrans (None, 430, 568, 64) 36928       add[0][0]                        
__________________________________________________________________________________________________
add_1 (Add)                     (None, 430, 568, 64) 0           conv2d[0][0]                     
                                                                 conv2d_transpose_1[0][0]         
__________________________________________________________________________________________________
conv2d_2 (Conv2D)               (None, 430, 568, 3)  4803        add_1[0][0]                      
==================================================================================================
Total params: 117,379
Trainable params: 117,379
Non-trainable params: 0
__________________________________________________________________________________________________
In [9]:
tpu_model = tf.contrib.tpu.keras_to_tpu_model(
    model,
    strategy=tf.contrib.tpu.TPUDistributionStrategy(
        tf.contrib.cluster_resolver.TPUClusterResolver(tpu='grpc://' + os.environ['COLAB_TPU_ADDR'])
    )
)

def PSNRLoss(y_true, y_pred):
    """
    PSNR is Peek Signal to Noise Ratio, which is similar to mean squared error.
    It can be calculated as
    PSNR = 20 * log10(MAXp) - 10 * log10(MSE)
    """
    return -10. * tf.keras.backend.log(tf.keras.backend.mean(tf.keras.backend.square(y_pred - y_true))) / tf.keras.backend.log(10.)

tpu_model.compile(
    optimizer=tf.train.AdamOptimizer(learning_rate=1e-3, ),
    loss='mse', 
    metrics=[PSNRLoss]
)  
INFO:tensorflow:Querying Tensorflow master (b'grpc://10.116.66.106:8470') for TPU system metadata.
INFO:tensorflow:Found TPU system:
INFO:tensorflow:*** Num TPU Cores: 8
INFO:tensorflow:*** Num TPU Workers: 1
INFO:tensorflow:*** Num TPU Cores Per Worker: 8
INFO:tensorflow:*** Available Device: _DeviceAttributes(/job:worker/replica:0/task:0/device:CPU:0, CPU, -1, 12956587062940411332)
INFO:tensorflow:*** Available Device: _DeviceAttributes(/job:worker/replica:0/task:0/device:XLA_CPU:0, XLA_CPU, 17179869184, 3902986436435976879)
INFO:tensorflow:*** Available Device: _DeviceAttributes(/job:worker/replica:0/task:0/device:XLA_GPU:0, XLA_GPU, 17179869184, 18245817929401484669)
INFO:tensorflow:*** Available Device: _DeviceAttributes(/job:worker/replica:0/task:0/device:TPU:0, TPU, 17179869184, 3056968668840321071)
INFO:tensorflow:*** Available Device: _DeviceAttributes(/job:worker/replica:0/task:0/device:TPU:1, TPU, 17179869184, 17971001194593511051)
INFO:tensorflow:*** Available Device: _DeviceAttributes(/job:worker/replica:0/task:0/device:TPU:2, TPU, 17179869184, 1836448017145217420)
INFO:tensorflow:*** Available Device: _DeviceAttributes(/job:worker/replica:0/task:0/device:TPU:3, TPU, 17179869184, 14135634331263601330)
INFO:tensorflow:*** Available Device: _DeviceAttributes(/job:worker/replica:0/task:0/device:TPU:4, TPU, 17179869184, 10872499331674208666)
INFO:tensorflow:*** Available Device: _DeviceAttributes(/job:worker/replica:0/task:0/device:TPU:5, TPU, 17179869184, 11171400342654437960)
INFO:tensorflow:*** Available Device: _DeviceAttributes(/job:worker/replica:0/task:0/device:TPU:6, TPU, 17179869184, 5433600022953917723)
INFO:tensorflow:*** Available Device: _DeviceAttributes(/job:worker/replica:0/task:0/device:TPU:7, TPU, 17179869184, 8969544923885558965)
INFO:tensorflow:*** Available Device: _DeviceAttributes(/job:worker/replica:0/task:0/device:TPU_SYSTEM:0, TPU_SYSTEM, 17179869184, 14126355292486778555)
WARNING:tensorflow:tpu_model (from tensorflow.contrib.tpu.python.tpu.keras_support) is experimental and may change or be removed at any time, and without warning.

fit the model with data generator. Will take ~12mins for training

In [10]:
tpu_model.fit_generator(
    image_generator(path_LR, path_HR, imgs_name[train_indices]),
    epochs=10,
    steps_per_epoch=50,
    validation_data= val_image_generator(path_LR, path_HR, imgs_name[val_indices]),
    validation_steps=10,
)
Epoch 1/10
INFO:tensorflow:New input shapes; (re-)compiling: mode=train (# of cores 8), [TensorSpec(shape=(2,), dtype=tf.int32, name='core_id0'), TensorSpec(shape=(2, 430, 568, 3), dtype=tf.float32, name='input_1_20'), TensorSpec(shape=(2, 430, 568, 3), dtype=tf.float32, name='conv2d_2_target_30')]
INFO:tensorflow:Overriding default placeholder.
INFO:tensorflow:Remapping placeholder for input_1
INFO:tensorflow:Started compiling
INFO:tensorflow:Finished compiling. Time elapsed: 7.5499186515808105 secs
INFO:tensorflow:Setting weights on TPU model.
49/50 [============================>.] - ETA: 1s - loss: 0.0163 - PSNRLoss: 20.8515INFO:tensorflow:New input shapes; (re-)compiling: mode=eval (# of cores 8), [TensorSpec(shape=(2,), dtype=tf.int32, name='core_id_10'), TensorSpec(shape=(2, 430, 568, 3), dtype=tf.float32, name='input_1_20'), TensorSpec(shape=(2, 430, 568, 3), dtype=tf.float32, name='conv2d_2_target_30')]
INFO:tensorflow:Overriding default placeholder.
INFO:tensorflow:Remapping placeholder for input_1
INFO:tensorflow:Started compiling
INFO:tensorflow:Finished compiling. Time elapsed: 4.7651526927948 secs
50/50 [==============================] - 78s 2s/step - loss: 0.0160 - PSNRLoss: 20.9222 - val_loss: 0.0034 - val_PSNRLoss: 24.7687
Epoch 2/10
50/50 [==============================] - 61s 1s/step - loss: 0.0032 - PSNRLoss: 25.0811 - val_loss: 0.0024 - val_PSNRLoss: 26.3168
Epoch 3/10
50/50 [==============================] - 61s 1s/step - loss: 0.0026 - PSNRLoss: 25.9845 - val_loss: 0.0022 - val_PSNRLoss: 26.6618
Epoch 4/10
50/50 [==============================] - 61s 1s/step - loss: 0.0025 - PSNRLoss: 26.1448 - val_loss: 0.0019 - val_PSNRLoss: 27.1838
Epoch 5/10
50/50 [==============================] - 62s 1s/step - loss: 0.0023 - PSNRLoss: 26.5708 - val_loss: 0.0019 - val_PSNRLoss: 27.2108
Epoch 6/10
50/50 [==============================] - 61s 1s/step - loss: 0.0022 - PSNRLoss: 26.9052 - val_loss: 0.0019 - val_PSNRLoss: 27.1526
Epoch 7/10
50/50 [==============================] - 60s 1s/step - loss: 0.0021 - PSNRLoss: 26.9539 - val_loss: 0.0019 - val_PSNRLoss: 27.4276
Epoch 8/10
50/50 [==============================] - 61s 1s/step - loss: 0.0021 - PSNRLoss: 26.9051 - val_loss: 0.0018 - val_PSNRLoss: 27.4684
Epoch 9/10
50/50 [==============================] - 61s 1s/step - loss: 0.0020 - PSNRLoss: 27.0876 - val_loss: 0.0020 - val_PSNRLoss: 27.0368
Epoch 10/10
50/50 [==============================] - 61s 1s/step - loss: 0.0021 - PSNRLoss: 26.8913 - val_loss: 0.0019 - val_PSNRLoss: 27.2002
Out[10]:
<tensorflow.python.keras.callbacks.History at 0x7faee2ca7160>

Save trained model

In [12]:
tpu_model.save('tpu_model')
INFO:tensorflow:Copying TPU weights to the CPU
WARNING:tensorflow:TensorFlow optimizers do not make it possible to access optimizer attributes or optimizer state after instantiation. As a result, we cannot save the optimizer as part of the model save file.You will have to compile your model again after loading it. Prefer using a Keras optimizer instead (see keras.io/optimizers).

Testing Model

Load model and compile again

In [0]:
# import tensorflow as tf
# def PSNRLoss(y_true, y_pred):
#     """
#     PSNR is Peek Signal to Noise Ratio, which is similar to mean squared error.
#     It can be calculated as
#     PSNR = 20 * log10(MAXp) - 10 * log10(MSE)
#     """
#     return -10. * tf.keras.backend.log(tf.keras.backend.mean(tf.keras.backend.square(y_pred - y_true))) / tf.keras.backend.log(10.)

# model_tpu = tf.keras.models.load_model('tpu_model') 

# model_tpu.compile(
#     optimizer=tf.train.AdamOptimizer(learning_rate=1e-3, ),
#     loss='mse', 
#     metrics=[PSNRLoss]
# )  

Prepare testing data

In [14]:
test_imgs = np.zeros([len(test_indices), target_shape[0], target_shape[1], 3])
test_imgs_truth = []
test_imgs_truth_size = np.zeros([len(test_indices), 2])
i = 0
print("total number of test images is " + str(len(test_indices)))
for indice in test_indices:

  img_input = Image.open(path_LR + imgs_name[indice])
  img_truth = Image.open(path_HR + imgs_name[indice])
  
  img_input = img_input.resize((target_shape[1], target_shape[0]), Image.BICUBIC)
  test_imgs_truth_size[i] = img_truth.size
  
  img_input = np.array(img_input)
  img_truth = np.array(img_truth)
  img_input = img_input / 255.0
  img_truth = img_truth / 255.0


  
  test_imgs[i] = img_input 
  test_imgs_truth.append(img_truth)
  
  i = i+1
total number of test images is 151

Predict using the trained model

In [15]:
cpu_model = tpu_model.sync_to_cpu()
predicted_img = cpu_model.predict(test_imgs)
INFO:tensorflow:Copying TPU weights to the CPU

The predicted output from the model is of shape target_shape = (430, 568, 3). Need to resize it for comparison

In [0]:
i = 0
model_predicted_img_real_size = []
for img in predicted_img:
  temp = img*255
  temp[temp > 255] = 255
  temp[temp < 0] = 0
  temp = Image.fromarray(temp.astype('uint8'))
  temp = temp.resize(test_imgs_truth_size[i].astype('int'))
  model_predicted_img_real_size.append(np.array(temp)/255.0)

  i = i + 1

Take a look at the predicted images...

In [17]:
plot_img(model_predicted_img_real_size[9])
plot_img(test_imgs_truth[9])
In [18]:
plot_img(model_predicted_img_real_size[30])
plot_img(test_imgs_truth[30])
In [19]:
plot_img(model_predicted_img_real_size[20])
plot_img(test_imgs_truth[20])

A list of all the testing images

In [20]:
np.sort(imgs_name[test_indices])
Out[20]:
array(['img_0002.jpg', 'img_0008.jpg', 'img_0012.jpg', 'img_0024.jpg',
       'img_0034.jpg', 'img_0035.jpg', 'img_0044.jpg', 'img_0046.jpg',
       'img_0065.jpg', 'img_0071.jpg', 'img_0073.jpg', 'img_0106.jpg',
       'img_0127.jpg', 'img_0135.jpg', 'img_0136.jpg', 'img_0151.jpg',
       'img_0176.jpg', 'img_0178.jpg', 'img_0190.jpg', 'img_0192.jpg',
       'img_0201.jpg', 'img_0208.jpg', 'img_0215.jpg', 'img_0235.jpg',
       'img_0260.jpg', 'img_0270.jpg', 'img_0273.jpg', 'img_0274.jpg',
       'img_0291.jpg', 'img_0298.jpg', 'img_0323.jpg', 'img_0325.jpg',
       'img_0345.jpg', 'img_0362.jpg', 'img_0381.jpg', 'img_0392.jpg',
       'img_0397.jpg', 'img_0411.jpg', 'img_0412.jpg', 'img_0439.jpg',
       'img_0456.jpg', 'img_0461.jpg', 'img_0485.jpg', 'img_0496.jpg',
       'img_0511.jpg', 'img_0513.jpg', 'img_0529.jpg', 'img_0532.jpg',
       'img_0533.jpg', 'img_0534.jpg', 'img_0546.jpg', 'img_0547.jpg',
       'img_0562.jpg', 'img_0564.jpg', 'img_0574.jpg', 'img_0576.jpg',
       'img_0577.jpg', 'img_0588.jpg', 'img_0602.jpg', 'img_0618.jpg',
       'img_0624.jpg', 'img_0643.jpg', 'img_0646.jpg', 'img_0657.jpg',
       'img_0693.jpg', 'img_0701.jpg', 'img_0702.jpg', 'img_0705.jpg',
       'img_0715.jpg', 'img_0723.jpg', 'img_0725.jpg', 'img_0727.jpg',
       'img_0728.jpg', 'img_0743.jpg', 'img_0781.jpg', 'img_0785.jpg',
       'img_0790.jpg', 'img_0791.jpg', 'img_0799.jpg', 'img_0807.jpg',
       'img_0812.jpg', 'img_0816.jpg', 'img_0817.jpg', 'img_0823.jpg',
       'img_0831.jpg', 'img_0836.jpg', 'img_0839.jpg', 'img_0840.jpg',
       'img_0865.jpg', 'img_0873.jpg', 'img_0875.jpg', 'img_0893.jpg',
       'img_0909.jpg', 'img_0912.jpg', 'img_0917.jpg', 'img_0922.jpg',
       'img_0936.jpg', 'img_0937.jpg', 'img_0947.jpg', 'img_0949.jpg',
       'img_0970.jpg', 'img_0988.jpg', 'img_0998.jpg', 'img_1023.jpg',
       'img_1033.jpg', 'img_1041.jpg', 'img_1044.jpg', 'img_1045.jpg',
       'img_1046.jpg', 'img_1055.jpg', 'img_1059.jpg', 'img_1064.jpg',
       'img_1065.jpg', 'img_1090.jpg', 'img_1119.jpg', 'img_1164.jpg',
       'img_1166.jpg', 'img_1167.jpg', 'img_1177.jpg', 'img_1181.jpg',
       'img_1182.jpg', 'img_1185.jpg', 'img_1190.jpg', 'img_1200.jpg',
       'img_1210.jpg', 'img_1213.jpg', 'img_1250.jpg', 'img_1261.jpg',
       'img_1266.jpg', 'img_1284.jpg', 'img_1308.jpg', 'img_1313.jpg',
       'img_1318.jpg', 'img_1338.jpg', 'img_1340.jpg', 'img_1352.jpg',
       'img_1356.jpg', 'img_1361.jpg', 'img_1363.jpg', 'img_1367.jpg',
       'img_1373.jpg', 'img_1395.jpg', 'img_1400.jpg', 'img_1401.jpg',
       'img_1409.jpg', 'img_1427.jpg', 'img_1444.jpg', 'img_1454.jpg',
       'img_1463.jpg', 'img_1470.jpg', 'img_1485.jpg'], dtype='<U12')

Calculate the average PSNR in testing data

In [0]:
def psnr(y_true, y_pred):
    return -10. * np.log(np.mean(np.square(y_pred - y_true))) / np.log(10.)
  
psnr_predicted = np.zeros(len(test_imgs_truth))
for i in range(len(test_imgs_truth)):  
  psnr_predicted[i] = psnr(test_imgs_truth[i], model_predicted_img_real_size[i])
In [19]:
plt.hist(psnr_predicted, bins = 'auto')
plt.title('Distribution of PSNR for predicted testing image')
plt.show()

Comparing with results from Bicubic

In [0]:
psnr_bicubic = np.zeros(len(test_imgs_truth))
for i in range(len(test_imgs_truth)):
  # read in test images and reshape it to target images
  img_input = Image.open(path_LR + imgs_name[test_indices[i]])
  
  img_input = img_input.resize(test_imgs_truth_size[i].astype('int'), Image.BICUBIC)
  img_input = np.array(img_input) / 255.0

  psnr_bicubic[i] = psnr(test_imgs_truth[i], img_input)
  
In [21]:
plt.hist(psnr_bicubic, bins = 'auto')
plt.title('Distribution of PSNR for bicubic testing image')
plt.show()
In [22]:
img_input = Image.open(path_LR + imgs_name[test_indices[0]])
plot_img(img_input)
plot_img(test_imgs_truth[0])
plot_img(model_predicted_img_real_size[0])
In [23]:
img_input = Image.open(path_LR + imgs_name[test_indices[10]])
plot_img(img_input)
plot_img(test_imgs_truth[10])
plot_img(model_predicted_img_real_size[10])

The CNN model clearly presents results that are visually better than bicubic

Run prediction for the 1000 images

First we need to upload the test set to Google Cloud, then load the data by the following step.

In [31]:
!gsutil cp gs://adsproject3/test_set.tar.gz dataset.tar.gz
  
!gunzip -c dataset.tar.gz | tar xopf -
Copying gs://adsproject3/test_set.tar.gz...
\ [1 files][ 72.4 MiB/ 72.4 MiB]                                                
Operation completed over 1 objects/72.4 MiB.                                     
In [0]:
import numpy as np
import os
from PIL import Image
path_HR = "./test_SecTwo/HR/"
path_LR = "./test_SecTwo/LR/"
target_shape = (430, 568, 3)

imgs_name = np.unique(np.array([x.replace('._','') for x in os.listdir(path_HR)]))
imgs_to_predict = imgs_name
# np.sort(imgs_name)[0:1000]
In [35]:
!mkdir predicted_images
mkdir: cannot create directory ‘predicted_images’: File exists

Make predictions (need to write a data generator since image data cannot fit in the memory)

In [0]:
def test_image_generator(input_path, output_path, names, true_image_size, batch_size = 32):
    
  i = 0
  done = False
  current_size = batch_size
  while True:
    if((i+1)*batch_size > len(names)):
      batch_paths = names[i*batch_size: len(names)]
      current_size = len(names) - i*batch_size
      done = True
    else:
      batch_paths = names[i*current_size: (i+1)*current_size]

    
      
    batch_input = np.zeros([current_size, target_shape[0], target_shape[1], 3])
#     batch_output = np.zeros([current_size, target_shape[0], target_shape[1], 3])

    # Read in each input, perform preprocessing and get labels  
    j = 0
    for name in batch_paths:
      (input_img, output_img) = preprocess_img(name, 'normal')
      batch_input[j] = input_img 
#       batch_output[j] = output_img
      output_img = Image.open(path_HR + name)
      true_image_size[i*batch_size + j] = output_img.size
      j = j + 1
    
    
    
    # Return a tuple of (input,output) to feed the network
    batch_x = np.array( batch_input )
#     batch_y = np.array( batch_output )
    
    i = i + 1
   
    
#     yield( batch_x, batch_y )
    yield(batch_x)
  
    if(done):
      break
In [37]:
images_each_round = 100
current_images_per_round = images_each_round
for i in range(math.floor(1000/images_each_round)+1):
  
  start_index = i*images_each_round
  end_index = (i+1)*images_each_round
  if(end_index > 1000):
    end_index = 1000
  
  if(start_index == 1000):
    break
  
  print('proecssing images from image '+str(start_index) + ' to image ' + str(end_index) + '.....')
  
  true_image_size = np.zeros([current_images_per_round, 2])
  
  # run prediction for current batch
  predicted_img = cpu_model.predict_generator(
    test_image_generator(path_LR, path_HR, imgs_to_predict[start_index: end_index], true_image_size, batch_size = 32),
    steps = images_each_round//32 + 1
  )
  
  print('finished process current range. Now save imgs...')
 
  # save results of current batch
  
  j = 0
  

  
  for img in predicted_img:
    temp = img*255
    temp[temp > 255] = 255
    temp[temp < 0] = 0
    temp = Image.fromarray(temp.astype('uint8'))
    temp = temp.resize(true_image_size[j].astype('int'))
    
    temp.save('predicted_images/' + imgs_to_predict[i*images_each_round+j], "JPEG", quality=80, optimize=True, progressive=True)

    j = j + 1
    
    
    print('saved image '+imgs_to_predict[i*images_each_round+j-1])
  
  print('')
  
  if (i+1) * images_each_round > 1000:
    current_images_per_round = 1000 - i * images_each_round
proecssing images from image 0 to image 100.....
finished process current range. Now save imgs...
saved image img_0001.jpg
saved image img_0002.jpg
saved image img_0003.jpg
saved image img_0004.jpg
saved image img_0005.jpg
saved image img_0006.jpg
saved image img_0007.jpg
saved image img_0008.jpg
saved image img_0009.jpg
saved image img_0010.jpg
saved image img_0011.jpg
saved image img_0012.jpg
saved image img_0013.jpg
saved image img_0014.jpg
saved image img_0015.jpg
saved image img_0016.jpg
saved image img_0017.jpg
saved image img_0018.jpg
saved image img_0019.jpg
saved image img_0020.jpg
saved image img_0021.jpg
saved image img_0022.jpg
saved image img_0023.jpg
saved image img_0024.jpg
saved image img_0025.jpg
saved image img_0026.jpg
saved image img_0027.jpg
saved image img_0028.jpg
saved image img_0029.jpg
saved image img_0030.jpg
saved image img_0031.jpg
saved image img_0032.jpg
saved image img_0033.jpg
saved image img_0034.jpg
saved image img_0035.jpg
saved image img_0036.jpg
saved image img_0037.jpg
saved image img_0038.jpg
saved image img_0039.jpg
saved image img_0040.jpg
saved image img_0041.jpg
saved image img_0042.jpg
saved image img_0043.jpg
saved image img_0044.jpg
saved image img_0045.jpg
saved image img_0046.jpg
saved image img_0047.jpg
saved image img_0048.jpg
saved image img_0049.jpg
saved image img_0050.jpg
saved image img_0051.jpg
saved image img_0052.jpg
saved image img_0053.jpg
saved image img_0054.jpg
saved image img_0055.jpg
saved image img_0056.jpg
saved image img_0057.jpg
saved image img_0058.jpg
saved image img_0059.jpg
saved image img_0060.jpg
saved image img_0061.jpg
saved image img_0062.jpg
saved image img_0063.jpg
saved image img_0064.jpg
saved image img_0065.jpg
saved image img_0066.jpg
saved image img_0067.jpg
saved image img_0068.jpg
saved image img_0069.jpg
saved image img_0070.jpg
saved image img_0071.jpg
saved image img_0072.jpg
saved image img_0073.jpg
saved image img_0074.jpg
saved image img_0075.jpg
saved image img_0076.jpg
saved image img_0077.jpg
saved image img_0078.jpg
saved image img_0079.jpg
saved image img_0080.jpg
saved image img_0081.jpg
saved image img_0082.jpg
saved image img_0083.jpg
saved image img_0084.jpg
saved image img_0085.jpg
saved image img_0086.jpg
saved image img_0087.jpg
saved image img_0088.jpg
saved image img_0089.jpg
saved image img_0090.jpg
saved image img_0091.jpg
saved image img_0092.jpg
saved image img_0093.jpg
saved image img_0094.jpg
saved image img_0095.jpg
saved image img_0096.jpg
saved image img_0097.jpg
saved image img_0098.jpg
saved image img_0099.jpg
saved image img_0100.jpg

proecssing images from image 100 to image 200.....
finished process current range. Now save imgs...
saved image img_0101.jpg
saved image img_0102.jpg
saved image img_0103.jpg
saved image img_0104.jpg
saved image img_0105.jpg
saved image img_0106.jpg
saved image img_0107.jpg
saved image img_0108.jpg
saved image img_0109.jpg
saved image img_0110.jpg
saved image img_0111.jpg
saved image img_0112.jpg
saved image img_0113.jpg
saved image img_0114.jpg
saved image img_0115.jpg
saved image img_0116.jpg
saved image img_0117.jpg
saved image img_0118.jpg
saved image img_0119.jpg
saved image img_0120.jpg
saved image img_0121.jpg
saved image img_0122.jpg
saved image img_0123.jpg
saved image img_0124.jpg
saved image img_0125.jpg
saved image img_0126.jpg
saved image img_0127.jpg
saved image img_0128.jpg
saved image img_0129.jpg
saved image img_0130.jpg
saved image img_0131.jpg
saved image img_0132.jpg
saved image img_0133.jpg
saved image img_0134.jpg
saved image img_0135.jpg
saved image img_0136.jpg
saved image img_0137.jpg
saved image img_0138.jpg
saved image img_0139.jpg
saved image img_0140.jpg
saved image img_0141.jpg
saved image img_0142.jpg
saved image img_0143.jpg
saved image img_0144.jpg
saved image img_0145.jpg
saved image img_0146.jpg
saved image img_0147.jpg
saved image img_0148.jpg
saved image img_0149.jpg
saved image img_0150.jpg
saved image img_0151.jpg
saved image img_0152.jpg
saved image img_0153.jpg
saved image img_0154.jpg
saved image img_0155.jpg
saved image img_0156.jpg
saved image img_0157.jpg
saved image img_0158.jpg
saved image img_0159.jpg
saved image img_0160.jpg
saved image img_0161.jpg
saved image img_0162.jpg
saved image img_0163.jpg
saved image img_0164.jpg
saved image img_0165.jpg
saved image img_0166.jpg
saved image img_0167.jpg
saved image img_0168.jpg
saved image img_0169.jpg
saved image img_0170.jpg
saved image img_0171.jpg
saved image img_0172.jpg
saved image img_0173.jpg
saved image img_0174.jpg
saved image img_0175.jpg
saved image img_0176.jpg
saved image img_0177.jpg
saved image img_0178.jpg
saved image img_0179.jpg
saved image img_0180.jpg
saved image img_0181.jpg
saved image img_0182.jpg
saved image img_0183.jpg
saved image img_0184.jpg
saved image img_0185.jpg
saved image img_0186.jpg
saved image img_0187.jpg
saved image img_0188.jpg
saved image img_0189.jpg
saved image img_0190.jpg
saved image img_0191.jpg
saved image img_0192.jpg
saved image img_0193.jpg
saved image img_0194.jpg
saved image img_0195.jpg
saved image img_0196.jpg
saved image img_0197.jpg
saved image img_0198.jpg
saved image img_0199.jpg
saved image img_0200.jpg

proecssing images from image 200 to image 300.....
finished process current range. Now save imgs...
saved image img_0201.jpg
saved image img_0202.jpg
saved image img_0203.jpg
saved image img_0204.jpg
saved image img_0205.jpg
saved image img_0206.jpg
saved image img_0207.jpg
saved image img_0208.jpg
saved image img_0209.jpg
saved image img_0210.jpg
saved image img_0211.jpg
saved image img_0212.jpg
saved image img_0213.jpg
saved image img_0214.jpg
saved image img_0215.jpg
saved image img_0216.jpg
saved image img_0217.jpg
saved image img_0218.jpg
saved image img_0219.jpg
saved image img_0220.jpg
saved image img_0221.jpg
saved image img_0222.jpg
saved image img_0223.jpg
saved image img_0224.jpg
saved image img_0225.jpg
saved image img_0226.jpg
saved image img_0227.jpg
saved image img_0228.jpg
saved image img_0229.jpg
saved image img_0230.jpg
saved image img_0231.jpg
saved image img_0232.jpg
saved image img_0233.jpg
saved image img_0234.jpg
saved image img_0235.jpg
saved image img_0236.jpg
saved image img_0237.jpg
saved image img_0238.jpg
saved image img_0239.jpg
saved image img_0240.jpg
saved image img_0241.jpg
saved image img_0242.jpg
saved image img_0243.jpg
saved image img_0244.jpg
saved image img_0245.jpg
saved image img_0246.jpg
saved image img_0247.jpg
saved image img_0248.jpg
saved image img_0249.jpg
saved image img_0250.jpg
saved image img_0251.jpg
saved image img_0252.jpg
saved image img_0253.jpg
saved image img_0254.jpg
saved image img_0255.jpg
saved image img_0256.jpg
saved image img_0257.jpg
saved image img_0258.jpg
saved image img_0259.jpg
saved image img_0260.jpg
saved image img_0261.jpg
saved image img_0262.jpg
saved image img_0263.jpg
saved image img_0264.jpg
saved image img_0265.jpg
saved image img_0266.jpg
saved image img_0267.jpg
saved image img_0268.jpg
saved image img_0269.jpg
saved image img_0270.jpg
saved image img_0271.jpg
saved image img_0272.jpg
saved image img_0273.jpg
saved image img_0274.jpg
saved image img_0275.jpg
saved image img_0276.jpg
saved image img_0277.jpg
saved image img_0278.jpg
saved image img_0279.jpg
saved image img_0280.jpg
saved image img_0281.jpg
saved image img_0282.jpg
saved image img_0283.jpg
saved image img_0284.jpg
saved image img_0285.jpg
saved image img_0286.jpg
saved image img_0287.jpg
saved image img_0288.jpg
saved image img_0289.jpg
saved image img_0290.jpg
saved image img_0291.jpg
saved image img_0292.jpg
saved image img_0293.jpg
saved image img_0294.jpg
saved image img_0295.jpg
saved image img_0296.jpg
saved image img_0297.jpg
saved image img_0298.jpg
saved image img_0299.jpg
saved image img_0300.jpg

proecssing images from image 300 to image 400.....
finished process current range. Now save imgs...
saved image img_0301.jpg
saved image img_0302.jpg
saved image img_0303.jpg
saved image img_0304.jpg
saved image img_0305.jpg
saved image img_0306.jpg
saved image img_0307.jpg
saved image img_0308.jpg
saved image img_0309.jpg
saved image img_0310.jpg
saved image img_0311.jpg
saved image img_0312.jpg
saved image img_0313.jpg
saved image img_0314.jpg
saved image img_0315.jpg
saved image img_0316.jpg
saved image img_0317.jpg
saved image img_0318.jpg
saved image img_0319.jpg
saved image img_0320.jpg
saved image img_0321.jpg
saved image img_0322.jpg
saved image img_0323.jpg
saved image img_0324.jpg
saved image img_0325.jpg
saved image img_0326.jpg
saved image img_0327.jpg
saved image img_0328.jpg
saved image img_0329.jpg
saved image img_0330.jpg
saved image img_0331.jpg
saved image img_0332.jpg
saved image img_0333.jpg
saved image img_0334.jpg
saved image img_0335.jpg
saved image img_0336.jpg
saved image img_0337.jpg
saved image img_0338.jpg
saved image img_0339.jpg
saved image img_0340.jpg
saved image img_0341.jpg
saved image img_0342.jpg
saved image img_0343.jpg
saved image img_0344.jpg
saved image img_0345.jpg
saved image img_0346.jpg
saved image img_0347.jpg
saved image img_0348.jpg
saved image img_0349.jpg
saved image img_0350.jpg
saved image img_0351.jpg
saved image img_0352.jpg
saved image img_0353.jpg
saved image img_0354.jpg
saved image img_0355.jpg
saved image img_0356.jpg
saved image img_0357.jpg
saved image img_0358.jpg
saved image img_0359.jpg
saved image img_0360.jpg
saved image img_0361.jpg
saved image img_0362.jpg
saved image img_0363.jpg
saved image img_0364.jpg
saved image img_0365.jpg
saved image img_0366.jpg
saved image img_0367.jpg
saved image img_0368.jpg
saved image img_0369.jpg
saved image img_0370.jpg
saved image img_0371.jpg
saved image img_0372.jpg
saved image img_0373.jpg
saved image img_0374.jpg
saved image img_0375.jpg
saved image img_0376.jpg
saved image img_0377.jpg
saved image img_0378.jpg
saved image img_0379.jpg
saved image img_0380.jpg
saved image img_0381.jpg
saved image img_0382.jpg
saved image img_0383.jpg
saved image img_0384.jpg
saved image img_0385.jpg
saved image img_0386.jpg
saved image img_0387.jpg
saved image img_0388.jpg
saved image img_0389.jpg
saved image img_0390.jpg
saved image img_0391.jpg
saved image img_0392.jpg
saved image img_0393.jpg
saved image img_0394.jpg
saved image img_0395.jpg
saved image img_0396.jpg
saved image img_0397.jpg
saved image img_0398.jpg
saved image img_0399.jpg
saved image img_0400.jpg

proecssing images from image 400 to image 500.....
finished process current range. Now save imgs...
saved image img_0401.jpg
saved image img_0402.jpg
saved image img_0403.jpg
saved image img_0404.jpg
saved image img_0405.jpg
saved image img_0406.jpg
saved image img_0407.jpg
saved image img_0408.jpg
saved image img_0409.jpg
saved image img_0410.jpg
saved image img_0411.jpg
saved image img_0412.jpg
saved image img_0413.jpg
saved image img_0414.jpg
saved image img_0415.jpg
saved image img_0416.jpg
saved image img_0417.jpg
saved image img_0418.jpg
saved image img_0419.jpg
saved image img_0420.jpg
saved image img_0421.jpg
saved image img_0422.jpg
saved image img_0423.jpg
saved image img_0424.jpg
saved image img_0425.jpg
saved image img_0426.jpg
saved image img_0427.jpg
saved image img_0428.jpg
saved image img_0429.jpg
saved image img_0430.jpg
saved image img_0431.jpg
saved image img_0432.jpg
saved image img_0433.jpg
saved image img_0434.jpg
saved image img_0435.jpg
saved image img_0436.jpg
saved image img_0437.jpg
saved image img_0438.jpg
saved image img_0439.jpg
saved image img_0440.jpg
saved image img_0441.jpg
saved image img_0442.jpg
saved image img_0443.jpg
saved image img_0444.jpg
saved image img_0445.jpg
saved image img_0446.jpg
saved image img_0447.jpg
saved image img_0448.jpg
saved image img_0449.jpg
saved image img_0450.jpg
saved image img_0451.jpg
saved image img_0452.jpg
saved image img_0453.jpg
saved image img_0454.jpg
saved image img_0455.jpg
saved image img_0456.jpg
saved image img_0457.jpg
saved image img_0458.jpg
saved image img_0459.jpg
saved image img_0460.jpg
saved image img_0461.jpg
saved image img_0462.jpg
saved image img_0463.jpg
saved image img_0464.jpg
saved image img_0465.jpg
saved image img_0466.jpg
saved image img_0467.jpg
saved image img_0468.jpg
saved image img_0469.jpg
saved image img_0470.jpg
saved image img_0471.jpg
saved image img_0472.jpg
saved image img_0473.jpg
saved image img_0474.jpg
saved image img_0475.jpg
saved image img_0476.jpg
saved image img_0477.jpg
saved image img_0478.jpg
saved image img_0479.jpg
saved image img_0480.jpg
saved image img_0481.jpg
saved image img_0482.jpg
saved image img_0483.jpg
saved image img_0484.jpg
saved image img_0485.jpg
saved image img_0486.jpg
saved image img_0487.jpg
saved image img_0488.jpg
saved image img_0489.jpg
saved image img_0490.jpg
saved image img_0491.jpg
saved image img_0492.jpg
saved image img_0493.jpg
saved image img_0494.jpg
saved image img_0495.jpg
saved image img_0496.jpg
saved image img_0497.jpg
saved image img_0498.jpg
saved image img_0499.jpg
saved image img_0500.jpg

proecssing images from image 500 to image 600.....
finished process current range. Now save imgs...
saved image img_0501.jpg
saved image img_0502.jpg
saved image img_0503.jpg
saved image img_0504.jpg
saved image img_0505.jpg
saved image img_0506.jpg
saved image img_0507.jpg
saved image img_0508.jpg
saved image img_0509.jpg
saved image img_0510.jpg
saved image img_0511.jpg
saved image img_0512.jpg
saved image img_0513.jpg
saved image img_0514.jpg
saved image img_0515.jpg
saved image img_0516.jpg
saved image img_0517.jpg
saved image img_0518.jpg
saved image img_0519.jpg
saved image img_0520.jpg
saved image img_0521.jpg
saved image img_0522.jpg
saved image img_0523.jpg
saved image img_0524.jpg
saved image img_0525.jpg
saved image img_0526.jpg
saved image img_0527.jpg
saved image img_0528.jpg
saved image img_0529.jpg
saved image img_0530.jpg
saved image img_0531.jpg
saved image img_0532.jpg
saved image img_0533.jpg
saved image img_0534.jpg
saved image img_0535.jpg
saved image img_0536.jpg
saved image img_0537.jpg
saved image img_0538.jpg
saved image img_0539.jpg
saved image img_0540.jpg
saved image img_0541.jpg
saved image img_0542.jpg
saved image img_0543.jpg
saved image img_0544.jpg
saved image img_0545.jpg
saved image img_0546.jpg
saved image img_0547.jpg
saved image img_0548.jpg
saved image img_0549.jpg
saved image img_0550.jpg
saved image img_0551.jpg
saved image img_0552.jpg
saved image img_0553.jpg
saved image img_0554.jpg
saved image img_0555.jpg
saved image img_0556.jpg
saved image img_0557.jpg
saved image img_0558.jpg
saved image img_0559.jpg
saved image img_0560.jpg
saved image img_0561.jpg
saved image img_0562.jpg
saved image img_0563.jpg
saved image img_0564.jpg
saved image img_0565.jpg
saved image img_0566.jpg
saved image img_0567.jpg
saved image img_0568.jpg
saved image img_0569.jpg
saved image img_0570.jpg
saved image img_0571.jpg
saved image img_0572.jpg
saved image img_0573.jpg
saved image img_0574.jpg
saved image img_0575.jpg
saved image img_0576.jpg
saved image img_0577.jpg
saved image img_0578.jpg
saved image img_0579.jpg
saved image img_0580.jpg
saved image img_0581.jpg
saved image img_0582.jpg
saved image img_0583.jpg
saved image img_0584.jpg
saved image img_0585.jpg
saved image img_0586.jpg
saved image img_0587.jpg
saved image img_0588.jpg
saved image img_0589.jpg
saved image img_0590.jpg
saved image img_0591.jpg
saved image img_0592.jpg
saved image img_0593.jpg
saved image img_0594.jpg
saved image img_0595.jpg
saved image img_0596.jpg
saved image img_0597.jpg
saved image img_0598.jpg
saved image img_0599.jpg
saved image img_0600.jpg

proecssing images from image 600 to image 700.....
finished process current range. Now save imgs...
saved image img_0601.jpg
saved image img_0602.jpg
saved image img_0603.jpg
saved image img_0604.jpg
saved image img_0605.jpg
saved image img_0606.jpg
saved image img_0607.jpg
saved image img_0608.jpg
saved image img_0609.jpg
saved image img_0610.jpg
saved image img_0611.jpg
saved image img_0612.jpg
saved image img_0613.jpg
saved image img_0614.jpg
saved image img_0615.jpg
saved image img_0616.jpg
saved image img_0617.jpg
saved image img_0618.jpg
saved image img_0619.jpg
saved image img_0620.jpg
saved image img_0621.jpg
saved image img_0622.jpg
saved image img_0623.jpg
saved image img_0624.jpg
saved image img_0625.jpg
saved image img_0626.jpg
saved image img_0627.jpg
saved image img_0628.jpg
saved image img_0629.jpg
saved image img_0630.jpg
saved image img_0631.jpg
saved image img_0632.jpg
saved image img_0633.jpg
saved image img_0634.jpg
saved image img_0635.jpg
saved image img_0636.jpg
saved image img_0637.jpg
saved image img_0638.jpg
saved image img_0639.jpg
saved image img_0640.jpg
saved image img_0641.jpg
saved image img_0642.jpg
saved image img_0643.jpg
saved image img_0644.jpg
saved image img_0645.jpg
saved image img_0646.jpg
saved image img_0647.jpg
saved image img_0648.jpg
saved image img_0649.jpg
saved image img_0650.jpg
saved image img_0651.jpg
saved image img_0652.jpg
saved image img_0653.jpg
saved image img_0654.jpg
saved image img_0655.jpg
saved image img_0656.jpg
saved image img_0657.jpg
saved image img_0658.jpg
saved image img_0659.jpg
saved image img_0660.jpg
saved image img_0661.jpg
saved image img_0662.jpg
saved image img_0663.jpg
saved image img_0664.jpg
saved image img_0665.jpg
saved image img_0666.jpg
saved image img_0667.jpg
saved image img_0668.jpg
saved image img_0669.jpg
saved image img_0670.jpg
saved image img_0671.jpg
saved image img_0672.jpg
saved image img_0673.jpg
saved image img_0674.jpg
saved image img_0675.jpg
saved image img_0676.jpg
saved image img_0677.jpg
saved image img_0678.jpg
saved image img_0679.jpg
saved image img_0680.jpg
saved image img_0681.jpg
saved image img_0682.jpg
saved image img_0683.jpg
saved image img_0684.jpg
saved image img_0685.jpg
saved image img_0686.jpg
saved image img_0687.jpg
saved image img_0688.jpg
saved image img_0689.jpg
saved image img_0690.jpg
saved image img_0691.jpg
saved image img_0692.jpg
saved image img_0693.jpg
saved image img_0694.jpg
saved image img_0695.jpg
saved image img_0696.jpg
saved image img_0697.jpg
saved image img_0698.jpg
saved image img_0699.jpg
saved image img_0700.jpg

proecssing images from image 700 to image 800.....
finished process current range. Now save imgs...
saved image img_0701.jpg
saved image img_0702.jpg
saved image img_0703.jpg
saved image img_0704.jpg
saved image img_0705.jpg
saved image img_0706.jpg
saved image img_0707.jpg
saved image img_0708.jpg
saved image img_0709.jpg
saved image img_0710.jpg
saved image img_0711.jpg
saved image img_0712.jpg
saved image img_0713.jpg
saved image img_0714.jpg
saved image img_0715.jpg
saved image img_0716.jpg
saved image img_0717.jpg
saved image img_0718.jpg
saved image img_0719.jpg
saved image img_0720.jpg
saved image img_0721.jpg
saved image img_0722.jpg
saved image img_0723.jpg
saved image img_0724.jpg
saved image img_0725.jpg
saved image img_0726.jpg
saved image img_0727.jpg
saved image img_0728.jpg
saved image img_0729.jpg
saved image img_0730.jpg
saved image img_0731.jpg
saved image img_0732.jpg
saved image img_0733.jpg
saved image img_0734.jpg
saved image img_0735.jpg
saved image img_0736.jpg
saved image img_0737.jpg
saved image img_0738.jpg
saved image img_0739.jpg
saved image img_0740.jpg
saved image img_0741.jpg
saved image img_0742.jpg
saved image img_0743.jpg
saved image img_0744.jpg
saved image img_0745.jpg
saved image img_0746.jpg
saved image img_0747.jpg
saved image img_0748.jpg
saved image img_0749.jpg
saved image img_0750.jpg
saved image img_0751.jpg
saved image img_0752.jpg
saved image img_0753.jpg
saved image img_0754.jpg
saved image img_0755.jpg
saved image img_0756.jpg
saved image img_0757.jpg
saved image img_0758.jpg
saved image img_0759.jpg
saved image img_0760.jpg
saved image img_0761.jpg
saved image img_0762.jpg
saved image img_0763.jpg
saved image img_0764.jpg
saved image img_0765.jpg
saved image img_0766.jpg
saved image img_0767.jpg
saved image img_0768.jpg
saved image img_0769.jpg
saved image img_0770.jpg
saved image img_0771.jpg
saved image img_0772.jpg
saved image img_0773.jpg
saved image img_0774.jpg
saved image img_0775.jpg
saved image img_0776.jpg
saved image img_0777.jpg
saved image img_0778.jpg
saved image img_0779.jpg
saved image img_0780.jpg
saved image img_0781.jpg
saved image img_0782.jpg
saved image img_0783.jpg
saved image img_0784.jpg
saved image img_0785.jpg
saved image img_0786.jpg
saved image img_0787.jpg
saved image img_0788.jpg
saved image img_0789.jpg
saved image img_0790.jpg
saved image img_0791.jpg
saved image img_0792.jpg
saved image img_0793.jpg
saved image img_0794.jpg
saved image img_0795.jpg
saved image img_0796.jpg
saved image img_0797.jpg
saved image img_0798.jpg
saved image img_0799.jpg
saved image img_0800.jpg

proecssing images from image 800 to image 900.....
finished process current range. Now save imgs...
saved image img_0801.jpg
saved image img_0802.jpg
saved image img_0803.jpg
saved image img_0804.jpg
saved image img_0805.jpg
saved image img_0806.jpg
saved image img_0807.jpg
saved image img_0808.jpg
saved image img_0809.jpg
saved image img_0810.jpg
saved image img_0811.jpg
saved image img_0812.jpg
saved image img_0813.jpg
saved image img_0814.jpg
saved image img_0815.jpg
saved image img_0816.jpg
saved image img_0817.jpg
saved image img_0818.jpg
saved image img_0819.jpg
saved image img_0820.jpg
saved image img_0821.jpg
saved image img_0822.jpg
saved image img_0823.jpg
saved image img_0824.jpg
saved image img_0825.jpg
saved image img_0826.jpg
saved image img_0827.jpg
saved image img_0828.jpg
saved image img_0829.jpg
saved image img_0830.jpg
saved image img_0831.jpg
saved image img_0832.jpg
saved image img_0833.jpg
saved image img_0834.jpg
saved image img_0835.jpg
saved image img_0836.jpg
saved image img_0837.jpg
saved image img_0838.jpg
saved image img_0839.jpg
saved image img_0840.jpg
saved image img_0841.jpg
saved image img_0842.jpg
saved image img_0843.jpg
saved image img_0844.jpg
saved image img_0845.jpg
saved image img_0846.jpg
saved image img_0847.jpg
saved image img_0848.jpg
saved image img_0849.jpg
saved image img_0850.jpg
saved image img_0851.jpg
saved image img_0852.jpg
saved image img_0853.jpg
saved image img_0854.jpg
saved image img_0855.jpg
saved image img_0856.jpg
saved image img_0857.jpg
saved image img_0858.jpg
saved image img_0859.jpg
saved image img_0860.jpg
saved image img_0861.jpg
saved image img_0862.jpg
saved image img_0863.jpg
saved image img_0864.jpg
saved image img_0865.jpg
saved image img_0866.jpg
saved image img_0867.jpg
saved image img_0868.jpg
saved image img_0869.jpg
saved image img_0870.jpg
saved image img_0871.jpg
saved image img_0872.jpg
saved image img_0873.jpg
saved image img_0874.jpg
saved image img_0875.jpg
saved image img_0876.jpg
saved image img_0877.jpg
saved image img_0878.jpg
saved image img_0879.jpg
saved image img_0880.jpg
saved image img_0881.jpg
saved image img_0882.jpg
saved image img_0883.jpg
saved image img_0884.jpg
saved image img_0885.jpg
saved image img_0886.jpg
saved image img_0887.jpg
saved image img_0888.jpg
saved image img_0889.jpg
saved image img_0890.jpg
saved image img_0891.jpg
saved image img_0892.jpg
saved image img_0893.jpg
saved image img_0894.jpg
saved image img_0895.jpg
saved image img_0896.jpg
saved image img_0897.jpg
saved image img_0898.jpg
saved image img_0899.jpg
saved image img_0900.jpg

proecssing images from image 900 to image 1000.....
finished process current range. Now save imgs...
saved image img_0901.jpg
saved image img_0902.jpg
saved image img_0903.jpg
saved image img_0904.jpg
saved image img_0905.jpg
saved image img_0906.jpg
saved image img_0907.jpg
saved image img_0908.jpg
saved image img_0909.jpg
saved image img_0910.jpg
saved image img_0911.jpg
saved image img_0912.jpg
saved image img_0913.jpg
saved image img_0914.jpg
saved image img_0915.jpg
saved image img_0916.jpg
saved image img_0917.jpg
saved image img_0918.jpg
saved image img_0919.jpg
saved image img_0920.jpg
saved image img_0921.jpg
saved image img_0922.jpg
saved image img_0923.jpg
saved image img_0924.jpg
saved image img_0925.jpg
saved image img_0926.jpg
saved image img_0927.jpg
saved image img_0928.jpg
saved image img_0929.jpg
saved image img_0930.jpg
saved image img_0931.jpg
saved image img_0932.jpg
saved image img_0933.jpg
saved image img_0934.jpg
saved image img_0935.jpg
saved image img_0936.jpg
saved image img_0937.jpg
saved image img_0938.jpg
saved image img_0939.jpg
saved image img_0940.jpg
saved image img_0941.jpg
saved image img_0942.jpg
saved image img_0943.jpg
saved image img_0944.jpg
saved image img_0945.jpg
saved image img_0946.jpg
saved image img_0947.jpg
saved image img_0948.jpg
saved image img_0949.jpg
saved image img_0950.jpg
saved image img_0951.jpg
saved image img_0952.jpg
saved image img_0953.jpg
saved image img_0954.jpg
saved image img_0955.jpg
saved image img_0956.jpg
saved image img_0957.jpg
saved image img_0958.jpg
saved image img_0959.jpg
saved image img_0960.jpg
saved image img_0961.jpg
saved image img_0962.jpg
saved image img_0963.jpg
saved image img_0964.jpg
saved image img_0965.jpg
saved image img_0966.jpg
saved image img_0967.jpg
saved image img_0968.jpg
saved image img_0969.jpg
saved image img_0970.jpg
saved image img_0971.jpg
saved image img_0972.jpg
saved image img_0973.jpg
saved image img_0974.jpg
saved image img_0975.jpg
saved image img_0976.jpg
saved image img_0977.jpg
saved image img_0978.jpg
saved image img_0979.jpg
saved image img_0980.jpg
saved image img_0981.jpg
saved image img_0982.jpg
saved image img_0983.jpg
saved image img_0984.jpg
saved image img_0985.jpg
saved image img_0986.jpg
saved image img_0987.jpg
saved image img_0988.jpg
saved image img_0989.jpg
saved image img_0990.jpg
saved image img_0991.jpg
saved image img_0992.jpg
saved image img_0993.jpg
saved image img_0994.jpg
saved image img_0995.jpg
saved image img_0996.jpg
saved image img_0997.jpg
saved image img_0998.jpg
saved image img_0999.jpg
saved image img_1000.jpg

It takes about 5min to predict and store 1000 images.

Store predicted images to local drive

In [38]:
!zip -r predicted_images.zip predicted_images
updating: predicted_images/ (stored 0%)
updating: predicted_images/img_0629.jpg (deflated 1%)
updating: predicted_images/img_0161.jpg (deflated 3%)
updating: predicted_images/img_0565.jpg (deflated 1%)
updating: predicted_images/img_0288.jpg (deflated 1%)
updating: predicted_images/img_0948.jpg (deflated 1%)
updating: predicted_images/img_0715.jpg (deflated 1%)
updating: predicted_images/img_0682.jpg (deflated 1%)
updating: predicted_images/img_0343.jpg (deflated 1%)
updating: predicted_images/img_0604.jpg (deflated 1%)
updating: predicted_images/img_0681.jpg (deflated 1%)
updating: predicted_images/img_0888.jpg (deflated 1%)
updating: predicted_images/img_0916.jpg (deflated 1%)
updating: predicted_images/img_0100.jpg (deflated 1%)
updating: predicted_images/img_0920.jpg (deflated 1%)
updating: predicted_images/img_0533.jpg (deflated 1%)
updating: predicted_images/img_0327.jpg (deflated 1%)
updating: predicted_images/img_0808.jpg (deflated 1%)
updating: predicted_images/img_0050.jpg (deflated 1%)
updating: predicted_images/img_0609.jpg (deflated 1%)
updating: predicted_images/img_0693.jpg (deflated 1%)
updating: predicted_images/img_0949.jpg (deflated 1%)
updating: predicted_images/img_0780.jpg (deflated 1%)
updating: predicted_images/img_0776.jpg (deflated 1%)
updating: predicted_images/img_0092.jpg (deflated 1%)
updating: predicted_images/img_0890.jpg (deflated 1%)
updating: predicted_images/img_0403.jpg (deflated 1%)
updating: predicted_images/img_0847.jpg (deflated 1%)
updating: predicted_images/img_0996.jpg (deflated 1%)
updating: predicted_images/img_0047.jpg (deflated 1%)
updating: predicted_images/img_0921.jpg (deflated 3%)
updating: predicted_images/img_0516.jpg (deflated 1%)
updating: predicted_images/img_0688.jpg (deflated 1%)
updating: predicted_images/img_0076.jpg (deflated 1%)
updating: predicted_images/img_0995.jpg (deflated 1%)
updating: predicted_images/img_0723.jpg (deflated 1%)
updating: predicted_images/img_0647.jpg (deflated 1%)
updating: predicted_images/img_0402.jpg (deflated 1%)
updating: predicted_images/img_0986.jpg (deflated 1%)
updating: predicted_images/img_0602.jpg (deflated 1%)
updating: predicted_images/img_0829.jpg (deflated 1%)
updating: predicted_images/img_0739.jpg (deflated 1%)
updating: predicted_images/img_0874.jpg (deflated 1%)
updating: predicted_images/img_0759.jpg (deflated 1%)
updating: predicted_images/img_0381.jpg (deflated 1%)
updating: predicted_images/img_0406.jpg (deflated 1%)
updating: predicted_images/img_0977.jpg (deflated 1%)
updating: predicted_images/img_0033.jpg (deflated 1%)
updating: predicted_images/img_0283.jpg (deflated 1%)
updating: predicted_images/img_0278.jpg (deflated 1%)
updating: predicted_images/img_0458.jpg (deflated 1%)
updating: predicted_images/img_0251.jpg (deflated 1%)
updating: predicted_images/img_0341.jpg (deflated 1%)
updating: predicted_images/img_0110.jpg (deflated 2%)
updating: predicted_images/img_0333.jpg (deflated 1%)
updating: predicted_images/img_0360.jpg (deflated 1%)
updating: predicted_images/img_0334.jpg (deflated 1%)
updating: predicted_images/img_0078.jpg (deflated 1%)
updating: predicted_images/img_0062.jpg (deflated 2%)
updating: predicted_images/img_0483.jpg (deflated 1%)
updating: predicted_images/img_0017.jpg (deflated 1%)
updating: predicted_images/img_0786.jpg (deflated 1%)
updating: predicted_images/img_0607.jpg (deflated 1%)
updating: predicted_images/img_0057.jpg (deflated 1%)
updating: predicted_images/img_0395.jpg (deflated 1%)
updating: predicted_images/img_0967.jpg (deflated 1%)
updating: predicted_images/img_0080.jpg (deflated 1%)
updating: predicted_images/img_0628.jpg (deflated 1%)
updating: predicted_images/img_0984.jpg (deflated 1%)
updating: predicted_images/img_0246.jpg (deflated 1%)
updating: predicted_images/img_0605.jpg (deflated 1%)
updating: predicted_images/img_0369.jpg (deflated 1%)
updating: predicted_images/img_0086.jpg (deflated 1%)
updating: predicted_images/img_0038.jpg (deflated 1%)
updating: predicted_images/img_0124.jpg (deflated 1%)
updating: predicted_images/img_0314.jpg (deflated 2%)
updating: predicted_images/img_0409.jpg (deflated 1%)
updating: predicted_images/img_0179.jpg (deflated 1%)
updating: predicted_images/img_0009.jpg (deflated 1%)
updating: predicted_images/img_0985.jpg (deflated 1%)
updating: predicted_images/img_0116.jpg (deflated 1%)
updating: predicted_images/img_0281.jpg (deflated 1%)
updating: predicted_images/img_0257.jpg (deflated 1%)
updating: predicted_images/img_0799.jpg (deflated 1%)
updating: predicted_images/img_0727.jpg (deflated 1%)
updating: predicted_images/img_0148.jpg (deflated 2%)
updating: predicted_images/img_0880.jpg (deflated 1%)
updating: predicted_images/img_0976.jpg (deflated 1%)
updating: predicted_images/img_0913.jpg (deflated 1%)
updating: predicted_images/img_0548.jpg (deflated 1%)
updating: predicted_images/img_0054.jpg (deflated 1%)
updating: predicted_images/img_0137.jpg (deflated 1%)
updating: predicted_images/img_0755.jpg (deflated 1%)
updating: predicted_images/img_0763.jpg (deflated 1%)
updating: predicted_images/img_0385.jpg (deflated 1%)
updating: predicted_images/img_0541.jpg (deflated 1%)
updating: predicted_images/img_0380.jpg (deflated 1%)
updating: predicted_images/img_0998.jpg (deflated 0%)
updating: predicted_images/img_0544.jpg (deflated 1%)
updating: predicted_images/img_0797.jpg (deflated 1%)
updating: predicted_images/img_0359.jpg (deflated 1%)
updating: predicted_images/img_0382.jpg (deflated 1%)
updating: predicted_images/img_0578.jpg (deflated 1%)
updating: predicted_images/img_0792.jpg (deflated 1%)
updating: predicted_images/img_0844.jpg (deflated 1%)
updating: predicted_images/img_0994.jpg (deflated 2%)
updating: predicted_images/img_0875.jpg (deflated 1%)
updating: predicted_images/img_0706.jpg (deflated 1%)
updating: predicted_images/img_0019.jpg (deflated 1%)
updating: predicted_images/img_0307.jpg (deflated 2%)
updating: predicted_images/img_0036.jpg (deflated 1%)
updating: predicted_images/img_0393.jpg (deflated 1%)
updating: predicted_images/img_0624.jpg (deflated 1%)
updating: predicted_images/img_0365.jpg (deflated 1%)
updating: predicted_images/img_0259.jpg (deflated 1%)
updating: predicted_images/img_0371.jpg (deflated 1%)
updating: predicted_images/img_0133.jpg (deflated 1%)
updating: predicted_images/img_0863.jpg (deflated 1%)
updating: predicted_images/img_0234.jpg (deflated 1%)
updating: predicted_images/img_0228.jpg (deflated 1%)
updating: predicted_images/img_0840.jpg (deflated 1%)
updating: predicted_images/img_0524.jpg (deflated 1%)
updating: predicted_images/img_0970.jpg (deflated 1%)
updating: predicted_images/img_0926.jpg (deflated 1%)
updating: predicted_images/img_0021.jpg (deflated 1%)
updating: predicted_images/img_0482.jpg (deflated 2%)
updating: predicted_images/img_0432.jpg (deflated 1%)
updating: predicted_images/img_0320.jpg (deflated 1%)
updating: predicted_images/img_0654.jpg (deflated 1%)
updating: predicted_images/img_0028.jpg (deflated 1%)
updating: predicted_images/img_0803.jpg (deflated 1%)
updating: predicted_images/img_0344.jpg (deflated 1%)
updating: predicted_images/img_0322.jpg (deflated 1%)
updating: predicted_images/img_0690.jpg (deflated 1%)
updating: predicted_images/img_0818.jpg (deflated 1%)
updating: predicted_images/img_0271.jpg (deflated 1%)
updating: predicted_images/img_0810.jpg (deflated 1%)
updating: predicted_images/img_0151.jpg (deflated 1%)
updating: predicted_images/img_0866.jpg (deflated 1%)
updating: predicted_images/img_0452.jpg (deflated 1%)
updating: predicted_images/img_0950.jpg (deflated 1%)
updating: predicted_images/img_0509.jpg (deflated 1%)
updating: predicted_images/img_0431.jpg (deflated 1%)
updating: predicted_images/img_0724.jpg (deflated 1%)
updating: predicted_images/img_0807.jpg (deflated 1%)
updating: predicted_images/img_0869.jpg (deflated 1%)
updating: predicted_images/img_0197.jpg (deflated 1%)
updating: predicted_images/img_0767.jpg (deflated 0%)
updating: predicted_images/img_0107.jpg (deflated 1%)
updating: predicted_images/img_0058.jpg (deflated 1%)
updating: predicted_images/img_0582.jpg (deflated 1%)
updating: predicted_images/img_0588.jpg (deflated 1%)
updating: predicted_images/img_0059.jpg (deflated 1%)
updating: predicted_images/img_0897.jpg (deflated 1%)
updating: predicted_images/img_0192.jpg (deflated 1%)
updating: predicted_images/img_0648.jpg (deflated 1%)
updating: predicted_images/img_0892.jpg (deflated 1%)
updating: predicted_images/img_0297.jpg (deflated 1%)
updating: predicted_images/img_0597.jpg (deflated 1%)
updating: predicted_images/img_0660.jpg (deflated 1%)
updating: predicted_images/img_0873.jpg (deflated 1%)
updating: predicted_images/img_0127.jpg (deflated 1%)
updating: predicted_images/img_0788.jpg (deflated 1%)
updating: predicted_images/img_0065.jpg (deflated 1%)
updating: predicted_images/img_0705.jpg (deflated 1%)
updating: predicted_images/img_0536.jpg (deflated 2%)
updating: predicted_images/img_0390.jpg (deflated 1%)
updating: predicted_images/img_0244.jpg (deflated 2%)
updating: predicted_images/img_0031.jpg (deflated 1%)
updating: predicted_images/img_0689.jpg (deflated 1%)
updating: predicted_images/img_0980.jpg (deflated 1%)
updating: predicted_images/img_0854.jpg (deflated 1%)
updating: predicted_images/img_0537.jpg (deflated 1%)
updating: predicted_images/img_0851.jpg (deflated 1%)
updating: predicted_images/img_0012.jpg (deflated 1%)
updating: predicted_images/img_0917.jpg (deflated 1%)
updating: predicted_images/img_0165.jpg (deflated 1%)
updating: predicted_images/img_0625.jpg (deflated 1%)
updating: predicted_images/img_0782.jpg (deflated 1%)
updating: predicted_images/img_0550.jpg (deflated 1%)
updating: predicted_images/img_0683.jpg (deflated 1%)
updating: predicted_images/img_0414.jpg (deflated 1%)
updating: predicted_images/img_0203.jpg (deflated 1%)
updating: predicted_images/img_0621.jpg (deflated 3%)
updating: predicted_images/img_0841.jpg (deflated 1%)
updating: predicted_images/img_0701.jpg (deflated 0%)
updating: predicted_images/img_0404.jpg (deflated 2%)
updating: predicted_images/img_0853.jpg (deflated 1%)
updating: predicted_images/img_0488.jpg (deflated 1%)
updating: predicted_images/img_0760.jpg (deflated 1%)
updating: predicted_images/img_0510.jpg (deflated 1%)
updating: predicted_images/img_0973.jpg (deflated 1%)
updating: predicted_images/img_0893.jpg (deflated 1%)
updating: predicted_images/img_0520.jpg (deflated 1%)
updating: predicted_images/img_0935.jpg (deflated 1%)
updating: predicted_images/img_0007.jpg (deflated 1%)
updating: predicted_images/img_0082.jpg (deflated 1%)
updating: predicted_images/img_0777.jpg (deflated 1%)
updating: predicted_images/img_0308.jpg (deflated 1%)
updating: predicted_images/img_0627.jpg (deflated 1%)
updating: predicted_images/img_0420.jpg (deflated 1%)
updating: predicted_images/img_0470.jpg (deflated 1%)
updating: predicted_images/img_0289.jpg (deflated 1%)
updating: predicted_images/img_0053.jpg (deflated 5%)
updating: predicted_images/img_0158.jpg (deflated 2%)
updating: predicted_images/img_0056.jpg (deflated 2%)
updating: predicted_images/img_0933.jpg (deflated 0%)
updating: predicted_images/img_0383.jpg (deflated 1%)
updating: predicted_images/img_0505.jpg (deflated 1%)
updating: predicted_images/img_0498.jpg (deflated 1%)
updating: predicted_images/img_0982.jpg (deflated 1%)
updating: predicted_images/img_0868.jpg (deflated 1%)
updating: predicted_images/img_0496.jpg (deflated 1%)
updating: predicted_images/img_0464.jpg (deflated 1%)
updating: predicted_images/img_0680.jpg (deflated 1%)
updating: predicted_images/img_0572.jpg (deflated 1%)
updating: predicted_images/img_0633.jpg (deflated 1%)
updating: predicted_images/img_0534.jpg (deflated 1%)
updating: predicted_images/img_0664.jpg (deflated 1%)
updating: predicted_images/img_0149.jpg (deflated 2%)
updating: predicted_images/img_0265.jpg (deflated 1%)
updating: predicted_images/img_0718.jpg (deflated 1%)
updating: predicted_images/img_0960.jpg (deflated 1%)
updating: predicted_images/img_0138.jpg (deflated 1%)
updating: predicted_images/img_0751.jpg (deflated 1%)
updating: predicted_images/img_0991.jpg (deflated 1%)
updating: predicted_images/img_0453.jpg (deflated 1%)
updating: predicted_images/img_0842.jpg (deflated 0%)
updating: predicted_images/img_0958.jpg (deflated 1%)
updating: predicted_images/img_0962.jpg (deflated 1%)
updating: predicted_images/img_0236.jpg (deflated 1%)
updating: predicted_images/img_0146.jpg (deflated 3%)
updating: predicted_images/img_0292.jpg (deflated 1%)
updating: predicted_images/img_0757.jpg (deflated 1%)
updating: predicted_images/img_0243.jpg (deflated 1%)
updating: predicted_images/img_0885.jpg (deflated 1%)
updating: predicted_images/img_0020.jpg (deflated 1%)
updating: predicted_images/img_0749.jpg (deflated 1%)
updating: predicted_images/img_0455.jpg (deflated 1%)
updating: predicted_images/img_0263.jpg (deflated 0%)
updating: predicted_images/img_0422.jpg (deflated 1%)
updating: predicted_images/img_0736.jpg (deflated 1%)
updating: predicted_images/img_0176.jpg (deflated 1%)
updating: predicted_images/img_0923.jpg (deflated 1%)
updating: predicted_images/img_0883.jpg (deflated 1%)
updating: predicted_images/img_0401.jpg (deflated 2%)
updating: predicted_images/img_0253.jpg (deflated 2%)
updating: predicted_images/img_0740.jpg (deflated 1%)
updating: predicted_images/img_0997.jpg (deflated 1%)
updating: predicted_images/img_0486.jpg (deflated 1%)
updating: predicted_images/img_0226.jpg (deflated 3%)
updating: predicted_images/img_0366.jpg (deflated 1%)
updating: predicted_images/img_0761.jpg (deflated 1%)
updating: predicted_images/img_0262.jpg (deflated 1%)
updating: predicted_images/img_0626.jpg (deflated 1%)
updating: predicted_images/img_0040.jpg (deflated 1%)
updating: predicted_images/img_0932.jpg (deflated 1%)
updating: predicted_images/img_0590.jpg (deflated 1%)
updating: predicted_images/img_0912.jpg (deflated 1%)
updating: predicted_images/img_0886.jpg (deflated 1%)
updating: predicted_images/img_0677.jpg (deflated 1%)
updating: predicted_images/img_0618.jpg (deflated 1%)
updating: predicted_images/img_0804.jpg (deflated 1%)
updating: predicted_images/img_0896.jpg (deflated 1%)
updating: predicted_images/img_0413.jpg (deflated 1%)
updating: predicted_images/img_0173.jpg (deflated 1%)
updating: predicted_images/img_0260.jpg (deflated 2%)
updating: predicted_images/img_0398.jpg (deflated 1%)
updating: predicted_images/img_0668.jpg (deflated 1%)
updating: predicted_images/img_0899.jpg (deflated 1%)
updating: predicted_images/img_0943.jpg (deflated 1%)
updating: predicted_images/img_0372.jpg (deflated 1%)
updating: predicted_images/img_0225.jpg (deflated 1%)
updating: predicted_images/img_0999.jpg (deflated 1%)
updating: predicted_images/img_0613.jpg (deflated 1%)
updating: predicted_images/img_0286.jpg (deflated 1%)
updating: predicted_images/img_0743.jpg (deflated 1%)
updating: predicted_images/img_0667.jpg (deflated 1%)
updating: predicted_images/img_0593.jpg (deflated 1%)
updating: predicted_images/img_0661.jpg (deflated 1%)
updating: predicted_images/img_0079.jpg (deflated 1%)
updating: predicted_images/img_0200.jpg (deflated 1%)
updating: predicted_images/img_0587.jpg (deflated 1%)
updating: predicted_images/img_0068.jpg (deflated 1%)
updating: predicted_images/img_0159.jpg (deflated 1%)
updating: predicted_images/img_0356.jpg (deflated 2%)
updating: predicted_images/img_0177.jpg (deflated 1%)
updating: predicted_images/img_0831.jpg (deflated 1%)
updating: predicted_images/img_0987.jpg (deflated 1%)
updating: predicted_images/img_0479.jpg (deflated 1%)
updating: predicted_images/img_0711.jpg (deflated 1%)
updating: predicted_images/img_0204.jpg (deflated 1%)
updating: predicted_images/img_0876.jpg (deflated 1%)
updating: predicted_images/img_0934.jpg (deflated 1%)
updating: predicted_images/img_0399.jpg (deflated 1%)
updating: predicted_images/img_0087.jpg (deflated 1%)
updating: predicted_images/img_0309.jpg (deflated 2%)
updating: predicted_images/img_1000.jpg (deflated 1%)
updating: predicted_images/img_0250.jpg (deflated 1%)
updating: predicted_images/img_0436.jpg (deflated 1%)
updating: predicted_images/img_0800.jpg (deflated 1%)
updating: predicted_images/img_0397.jpg (deflated 0%)
updating: predicted_images/img_0363.jpg (deflated 1%)
updating: predicted_images/img_0528.jpg (deflated 1%)
updating: predicted_images/img_0168.jpg (deflated 1%)
updating: predicted_images/img_0157.jpg (deflated 1%)
updating: predicted_images/img_0419.jpg (deflated 1%)
updating: predicted_images/img_0240.jpg (deflated 1%)
updating: predicted_images/img_0046.jpg (deflated 1%)
updating: predicted_images/img_0638.jpg (deflated 1%)
updating: predicted_images/img_0491.jpg (deflated 0%)
updating: predicted_images/img_0475.jpg (deflated 1%)
updating: predicted_images/img_0181.jpg (deflated 1%)
updating: predicted_images/img_0104.jpg (deflated 1%)
updating: predicted_images/img_0348.jpg (deflated 2%)
updating: predicted_images/img_0941.jpg (deflated 1%)
updating: predicted_images/img_0426.jpg (deflated 1%)
updating: predicted_images/img_0861.jpg (deflated 1%)
updating: predicted_images/img_0400.jpg (deflated 1%)
updating: predicted_images/img_0554.jpg (deflated 1%)
updating: predicted_images/img_0384.jpg (deflated 2%)
updating: predicted_images/img_0279.jpg (deflated 1%)
updating: predicted_images/img_0717.jpg (deflated 1%)
updating: predicted_images/img_0860.jpg (deflated 1%)
updating: predicted_images/img_0637.jpg (deflated 1%)
updating: predicted_images/img_0090.jpg (deflated 1%)
updating: predicted_images/img_0766.jpg (deflated 1%)
updating: predicted_images/img_0708.jpg (deflated 1%)
updating: predicted_images/img_0961.jpg (deflated 2%)
updating: predicted_images/img_0034.jpg (deflated 1%)
updating: predicted_images/img_0270.jpg (deflated 1%)
updating: predicted_images/img_0132.jpg (deflated 1%)
updating: predicted_images/img_0963.jpg (deflated 1%)
updating: predicted_images/img_0732.jpg (deflated 1%)
updating: predicted_images/img_0421.jpg (deflated 1%)
updating: predicted_images/img_0112.jpg (deflated 1%)
updating: predicted_images/img_0189.jpg (deflated 1%)
updating: predicted_images/img_0640.jpg (deflated 1%)
updating: predicted_images/img_0418.jpg (deflated 1%)
updating: predicted_images/img_0600.jpg (deflated 1%)
updating: predicted_images/img_0686.jpg (deflated 1%)
updating: predicted_images/img_0391.jpg (deflated 1%)
updating: predicted_images/img_0651.jpg (deflated 1%)
updating: predicted_images/img_0117.jpg (deflated 2%)
updating: predicted_images/img_0119.jpg (deflated 1%)
updating: predicted_images/img_0237.jpg (deflated 2%)
updating: predicted_images/img_0631.jpg (deflated 1%)
updating: predicted_images/img_0351.jpg (deflated 1%)
updating: predicted_images/img_0752.jpg (deflated 1%)
updating: predicted_images/img_0272.jpg (deflated 1%)
updating: predicted_images/img_0919.jpg (deflated 1%)
updating: predicted_images/img_0735.jpg (deflated 1%)
updating: predicted_images/img_0126.jpg (deflated 1%)
updating: predicted_images/img_0490.jpg (deflated 1%)
updating: predicted_images/img_0703.jpg (deflated 1%)
updating: predicted_images/img_0562.jpg (deflated 2%)
updating: predicted_images/img_0423.jpg (deflated 1%)
updating: predicted_images/img_0027.jpg (deflated 1%)
updating: predicted_images/img_0424.jpg (deflated 1%)
updating: predicted_images/img_0442.jpg (deflated 1%)
updating: predicted_images/img_0726.jpg (deflated 1%)
updating: predicted_images/img_0025.jpg (deflated 2%)
updating: predicted_images/img_0088.jpg (deflated 1%)
updating: predicted_images/img_0586.jpg (deflated 1%)
updating: predicted_images/img_0989.jpg (deflated 1%)
updating: predicted_images/img_0908.jpg (deflated 1%)
updating: predicted_images/img_0041.jpg (deflated 1%)
updating: predicted_images/img_0306.jpg (deflated 1%)
updating: predicted_images/img_0794.jpg (deflated 1%)
updating: predicted_images/img_0006.jpg (deflated 1%)
updating: predicted_images/img_0011.jpg (deflated 1%)
updating: predicted_images/img_0473.jpg (deflated 1%)
updating: predicted_images/img_0596.jpg (deflated 1%)
updating: predicted_images/img_0447.jpg (deflated 1%)
updating: predicted_images/img_0032.jpg (deflated 1%)
updating: predicted_images/img_0095.jpg (deflated 1%)
updating: predicted_images/img_0823.jpg (deflated 1%)
updating: predicted_images/img_0700.jpg (deflated 1%)
updating: predicted_images/img_0574.jpg (deflated 1%)
updating: predicted_images/img_0412.jpg (deflated 1%)
updating: predicted_images/img_0646.jpg (deflated 2%)
updating: predicted_images/img_0492.jpg (deflated 1%)
updating: predicted_images/img_0878.jpg (deflated 1%)
updating: predicted_images/img_0013.jpg (deflated 1%)
updating: predicted_images/img_0269.jpg (deflated 1%)
updating: predicted_images/img_0758.jpg (deflated 1%)
updating: predicted_images/img_0525.jpg (deflated 2%)
updating: predicted_images/img_0445.jpg (deflated 1%)
updating: predicted_images/img_0975.jpg (deflated 1%)
updating: predicted_images/img_0563.jpg (deflated 1%)
updating: predicted_images/img_0814.jpg (deflated 1%)
updating: predicted_images/img_0657.jpg (deflated 2%)
updating: predicted_images/img_0622.jpg (deflated 0%)
updating: predicted_images/img_0955.jpg (deflated 1%)
updating: predicted_images/img_0815.jpg (deflated 1%)
updating: predicted_images/img_0670.jpg (deflated 1%)
updating: predicted_images/img_0765.jpg (deflated 1%)
updating: predicted_images/img_0301.jpg (deflated 1%)
updating: predicted_images/img_0832.jpg (deflated 1%)
updating: predicted_images/img_0639.jpg (deflated 1%)
updating: predicted_images/img_0268.jpg (deflated 1%)
updating: predicted_images/img_0770.jpg (deflated 1%)
updating: predicted_images/img_0312.jpg (deflated 1%)
updating: predicted_images/img_0674.jpg (deflated 1%)
updating: predicted_images/img_0093.jpg (deflated 1%)
updating: predicted_images/img_0542.jpg (deflated 2%)
updating: predicted_images/img_0462.jpg (deflated 1%)
updating: predicted_images/img_0557.jpg (deflated 1%)
updating: predicted_images/img_0785.jpg (deflated 1%)
updating: predicted_images/img_0798.jpg (deflated 1%)
updating: predicted_images/img_0568.jpg (deflated 1%)
updating: predicted_images/img_0826.jpg (deflated 1%)
updating: predicted_images/img_0947.jpg (deflated 1%)
updating: predicted_images/img_0515.jpg (deflated 2%)
updating: predicted_images/img_0518.jpg (deflated 1%)
updating: predicted_images/img_0221.jpg (deflated 1%)
updating: predicted_images/img_0517.jpg (deflated 1%)
updating: predicted_images/img_0663.jpg (deflated 1%)
updating: predicted_images/img_0745.jpg (deflated 1%)
updating: predicted_images/img_0610.jpg (deflated 1%)
updating: predicted_images/img_0612.jpg (deflated 1%)
updating: predicted_images/img_0018.jpg (deflated 2%)
updating: predicted_images/img_0988.jpg (deflated 1%)
updating: predicted_images/img_0707.jpg (deflated 1%)
updating: predicted_images/img_0003.jpg (deflated 1%)
updating: predicted_images/img_0566.jpg (deflated 1%)
updating: predicted_images/img_0438.jpg (deflated 2%)
updating: predicted_images/img_0867.jpg (deflated 1%)
updating: predicted_images/img_0016.jpg (deflated 2%)
updating: predicted_images/img_0581.jpg (deflated 1%)
updating: predicted_images/img_0662.jpg (deflated 1%)
updating: predicted_images/img_0821.jpg (deflated 1%)
updating: predicted_images/img_0642.jpg (deflated 1%)
updating: predicted_images/img_0296.jpg (deflated 1%)
updating: predicted_images/img_0023.jpg (deflated 1%)
updating: predicted_images/img_0255.jpg (deflated 1%)
updating: predicted_images/img_0461.jpg (deflated 1%)
updating: predicted_images/img_0852.jpg (deflated 1%)
updating: predicted_images/img_0039.jpg (deflated 2%)
updating: predicted_images/img_0519.jpg (deflated 1%)
updating: predicted_images/img_0386.jpg (deflated 1%)
updating: predicted_images/img_0922.jpg (deflated 1%)
updating: predicted_images/img_0207.jpg (deflated 1%)
updating: predicted_images/img_0834.jpg (deflated 1%)
updating: predicted_images/img_0553.jpg (deflated 1%)
updating: predicted_images/img_0614.jpg (deflated 1%)
updating: predicted_images/img_0295.jpg (deflated 1%)
updating: predicted_images/img_0428.jpg (deflated 1%)
updating: predicted_images/img_0319.jpg (deflated 3%)
updating: predicted_images/img_0764.jpg (deflated 1%)
updating: predicted_images/img_0411.jpg (deflated 1%)
updating: predicted_images/img_0551.jpg (deflated 1%)
updating: predicted_images/img_0338.jpg (deflated 1%)
updating: predicted_images/img_0375.jpg (deflated 1%)
updating: predicted_images/img_0373.jpg (deflated 1%)
updating: predicted_images/img_0812.jpg (deflated 1%)
updating: predicted_images/img_0063.jpg (deflated 1%)
updating: predicted_images/img_0927.jpg (deflated 1%)
updating: predicted_images/img_0066.jpg (deflated 1%)
updating: predicted_images/img_0699.jpg (deflated 1%)
updating: predicted_images/img_0232.jpg (deflated 1%)
updating: predicted_images/img_0290.jpg (deflated 1%)
updating: predicted_images/img_0070.jpg (deflated 1%)
updating: predicted_images/img_0905.jpg (deflated 1%)
updating: predicted_images/img_0258.jpg (deflated 1%)
updating: predicted_images/img_0666.jpg (deflated 1%)
updating: predicted_images/img_0352.jpg (deflated 1%)
updating: predicted_images/img_0456.jpg (deflated 1%)
updating: predicted_images/img_0983.jpg (deflated 1%)
updating: predicted_images/img_0340.jpg (deflated 2%)
updating: predicted_images/img_0430.jpg (deflated 1%)
updating: predicted_images/img_0202.jpg (deflated 4%)
updating: predicted_images/img_0737.jpg (deflated 1%)
updating: predicted_images/img_0791.jpg (deflated 1%)
updating: predicted_images/img_0144.jpg (deflated 1%)
updating: predicted_images/img_0378.jpg (deflated 1%)
updating: predicted_images/img_0719.jpg (deflated 1%)
updating: predicted_images/img_0580.jpg (deflated 1%)
updating: predicted_images/img_0508.jpg (deflated 2%)
updating: predicted_images/img_0142.jpg (deflated 1%)
updating: predicted_images/img_0619.jpg (deflated 1%)
updating: predicted_images/img_0729.jpg (deflated 0%)
updating: predicted_images/img_0856.jpg (deflated 1%)
updating: predicted_images/img_0061.jpg (deflated 1%)
updating: predicted_images/img_0535.jpg (deflated 1%)
updating: predicted_images/img_0233.jpg (deflated 2%)
updating: predicted_images/img_0775.jpg (deflated 1%)
updating: predicted_images/img_0678.jpg (deflated 1%)
updating: predicted_images/img_0055.jpg (deflated 1%)
updating: predicted_images/img_0857.jpg (deflated 1%)
updating: predicted_images/img_0299.jpg (deflated 1%)
updating: predicted_images/img_0276.jpg (deflated 1%)
updating: predicted_images/img_0632.jpg (deflated 1%)
updating: predicted_images/img_0074.jpg (deflated 1%)
updating: predicted_images/img_0060.jpg (deflated 2%)
updating: predicted_images/img_0064.jpg (deflated 1%)
updating: predicted_images/img_0704.jpg (deflated 1%)
updating: predicted_images/img_0199.jpg (deflated 3%)
updating: predicted_images/img_0211.jpg (deflated 1%)
updating: predicted_images/img_0194.jpg (deflated 1%)
updating: predicted_images/img_0931.jpg (deflated 1%)
updating: predicted_images/img_0603.jpg (deflated 1%)
updating: predicted_images/img_0900.jpg (deflated 1%)
updating: predicted_images/img_0753.jpg (deflated 1%)
updating: predicted_images/img_0750.jpg (deflated 1%)
updating: predicted_images/img_0817.jpg (deflated 1%)
updating: predicted_images/img_0094.jpg (deflated 1%)
updating: predicted_images/img_0091.jpg (deflated 2%)
updating: predicted_images/img_0143.jpg (deflated 1%)
updating: predicted_images/img_0114.jpg (deflated 4%)
updating: predicted_images/img_0526.jpg (deflated 1%)
updating: predicted_images/img_0328.jpg (deflated 1%)
updating: predicted_images/img_0368.jpg (deflated 1%)
updating: predicted_images/img_0052.jpg (deflated 2%)
updating: predicted_images/img_0103.jpg (deflated 2%)
updating: predicted_images/img_0694.jpg (deflated 1%)
updating: predicted_images/img_0463.jpg (deflated 1%)
updating: predicted_images/img_0474.jpg (deflated 1%)
updating: predicted_images/img_0855.jpg (deflated 1%)
updating: predicted_images/img_0247.jpg (deflated 1%)
updating: predicted_images/img_0051.jpg (deflated 1%)
updating: predicted_images/img_0795.jpg (deflated 1%)
updating: predicted_images/img_0558.jpg (deflated 1%)
updating: predicted_images/img_0730.jpg (deflated 1%)
updating: predicted_images/img_0439.jpg (deflated 1%)
updating: predicted_images/img_0598.jpg (deflated 1%)
updating: predicted_images/img_0101.jpg (deflated 1%)
updating: predicted_images/img_0198.jpg (deflated 1%)
updating: predicted_images/img_0326.jpg (deflated 2%)
updating: predicted_images/img_0238.jpg (deflated 1%)
updating: predicted_images/img_0591.jpg (deflated 1%)
updating: predicted_images/img_0672.jpg (deflated 1%)
updating: predicted_images/img_0559.jpg (deflated 1%)
updating: predicted_images/img_0725.jpg (deflated 1%)
updating: predicted_images/img_0069.jpg (deflated 1%)
updating: predicted_images/img_0150.jpg (deflated 1%)
updating: predicted_images/img_0649.jpg (deflated 1%)
updating: predicted_images/img_0264.jpg (deflated 1%)
updating: predicted_images/img_0113.jpg (deflated 1%)
updating: predicted_images/img_0552.jpg (deflated 1%)
updating: predicted_images/img_0156.jpg (deflated 1%)
updating: predicted_images/img_0339.jpg (deflated 1%)
updating: predicted_images/img_0166.jpg (deflated 2%)
updating: predicted_images/img_0324.jpg (deflated 2%)
updating: predicted_images/img_0389.jpg (deflated 1%)
updating: predicted_images/img_0410.jpg (deflated 1%)
updating: predicted_images/img_0049.jpg (deflated 1%)
updating: predicted_images/img_0937.jpg (deflated 1%)
updating: predicted_images/img_0850.jpg (deflated 1%)
updating: predicted_images/img_0305.jpg (deflated 1%)
updating: predicted_images/img_0879.jpg (deflated 1%)
updating: predicted_images/img_0153.jpg (deflated 1%)
updating: predicted_images/img_0756.jpg (deflated 1%)
updating: predicted_images/img_0291.jpg (deflated 1%)
updating: predicted_images/img_0252.jpg (deflated 1%)
updating: predicted_images/img_0805.jpg (deflated 1%)
updating: predicted_images/img_0435.jpg (deflated 1%)
updating: predicted_images/img_0183.jpg (deflated 1%)
updating: predicted_images/img_0465.jpg (deflated 1%)
updating: predicted_images/img_0223.jpg (deflated 1%)
updating: predicted_images/img_0754.jpg (deflated 1%)
updating: predicted_images/img_0909.jpg (deflated 1%)
updating: predicted_images/img_0951.jpg (deflated 1%)
updating: predicted_images/img_0451.jpg (deflated 1%)
updating: predicted_images/img_0929.jpg (deflated 1%)
updating: predicted_images/img_0171.jpg (deflated 1%)
updating: predicted_images/img_0595.jpg (deflated 1%)
updating: predicted_images/img_0981.jpg (deflated 1%)
updating: predicted_images/img_0405.jpg (deflated 1%)
updating: predicted_images/img_0836.jpg (deflated 1%)
updating: predicted_images/img_0081.jpg (deflated 1%)
updating: predicted_images/img_0231.jpg (deflated 1%)
updating: predicted_images/img_0543.jpg (deflated 1%)
updating: predicted_images/img_0489.jpg (deflated 1%)
updating: predicted_images/img_0809.jpg (deflated 1%)
updating: predicted_images/img_0789.jpg (deflated 1%)
updating: predicted_images/img_0415.jpg (deflated 1%)
updating: predicted_images/img_0692.jpg (deflated 1%)
updating: predicted_images/img_0342.jpg (deflated 1%)
updating: predicted_images/img_0630.jpg (deflated 1%)
updating: predicted_images/img_0514.jpg (deflated 1%)
updating: predicted_images/img_0332.jpg (deflated 1%)
updating: predicted_images/img_0098.jpg (deflated 1%)
updating: predicted_images/img_0768.jpg (deflated 1%)
updating: predicted_images/img_0636.jpg (deflated 1%)
updating: predicted_images/img_0108.jpg (deflated 1%)
updating: predicted_images/img_0350.jpg (deflated 1%)
updating: predicted_images/img_0468.jpg (deflated 1%)
updating: predicted_images/img_0001.jpg (deflated 1%)
updating: predicted_images/img_0570.jpg (deflated 1%)
updating: predicted_images/img_0898.jpg (deflated 1%)
updating: predicted_images/img_0599.jpg (deflated 1%)
updating: predicted_images/img_0193.jpg (deflated 1%)
updating: predicted_images/img_0902.jpg (deflated 1%)
updating: predicted_images/img_0882.jpg (deflated 1%)
updating: predicted_images/img_0184.jpg (deflated 1%)
updating: predicted_images/img_0822.jpg (deflated 1%)
updating: predicted_images/img_0728.jpg (deflated 3%)
updating: predicted_images/img_0954.jpg (deflated 1%)
updating: predicted_images/img_0643.jpg (deflated 1%)
updating: predicted_images/img_0968.jpg (deflated 1%)
updating: predicted_images/img_0122.jpg (deflated 1%)
updating: predicted_images/img_0147.jpg (deflated 1%)
updating: predicted_images/img_0477.jpg (deflated 1%)
updating: predicted_images/img_0547.jpg (deflated 1%)
updating: predicted_images/img_0959.jpg (deflated 1%)
updating: predicted_images/img_0374.jpg (deflated 1%)
updating: predicted_images/img_0209.jpg (deflated 1%)
updating: predicted_images/img_0695.jpg (deflated 1%)
updating: predicted_images/img_0387.jpg (deflated 1%)
updating: predicted_images/img_0716.jpg (deflated 1%)
updating: predicted_images/img_0887.jpg (deflated 1%)
updating: predicted_images/img_0644.jpg (deflated 1%)
updating: predicted_images/img_0720.jpg (deflated 1%)
updating: predicted_images/img_0773.jpg (deflated 1%)
updating: predicted_images/img_0687.jpg (deflated 1%)
updating: predicted_images/img_0284.jpg (deflated 1%)
updating: predicted_images/img_0261.jpg (deflated 1%)
updating: predicted_images/img_0507.jpg (deflated 1%)
updating: predicted_images/img_0337.jpg (deflated 2%)
updating: predicted_images/img_0035.jpg (deflated 2%)
updating: predicted_images/img_0106.jpg (deflated 1%)
updating: predicted_images/img_0330.jpg (deflated 2%)
updating: predicted_images/img_0904.jpg (deflated 1%)
updating: predicted_images/img_0748.jpg (deflated 1%)
updating: predicted_images/img_0044.jpg (deflated 3%)
updating: predicted_images/img_0300.jpg (deflated 1%)
updating: predicted_images/img_0331.jpg (deflated 1%)
updating: predicted_images/img_0266.jpg (deflated 1%)
updating: predicted_images/img_0321.jpg (deflated 1%)
updating: predicted_images/img_0697.jpg (deflated 1%)
updating: predicted_images/img_0443.jpg (deflated 3%)
updating: predicted_images/img_0801.jpg (deflated 4%)
updating: predicted_images/img_0579.jpg (deflated 1%)
updating: predicted_images/img_0746.jpg (deflated 1%)
updating: predicted_images/img_0216.jpg (deflated 1%)
updating: predicted_images/img_0787.jpg (deflated 1%)
updating: predicted_images/img_0762.jpg (deflated 1%)
updating: predicted_images/img_0494.jpg (deflated 1%)
updating: predicted_images/img_0938.jpg (deflated 1%)
updating: predicted_images/img_0002.jpg (deflated 1%)
updating: predicted_images/img_0444.jpg (deflated 1%)
updating: predicted_images/img_0576.jpg (deflated 1%)
updating: predicted_images/img_0182.jpg (deflated 1%)
updating: predicted_images/img_0045.jpg (deflated 1%)
updating: predicted_images/img_0191.jpg (deflated 1%)
updating: predicted_images/img_0310.jpg (deflated 1%)
updating: predicted_images/img_0293.jpg (deflated 2%)
updating: predicted_images/img_0358.jpg (deflated 1%)
updating: predicted_images/img_0026.jpg (deflated 1%)
updating: predicted_images/img_0485.jpg (deflated 1%)
updating: predicted_images/img_0965.jpg (deflated 1%)
updating: predicted_images/img_0316.jpg (deflated 1%)
updating: predicted_images/img_0123.jpg (deflated 1%)
updating: predicted_images/img_0671.jpg (deflated 0%)
updating: predicted_images/img_0128.jpg (deflated 1%)
updating: predicted_images/img_0280.jpg (deflated 1%)
updating: predicted_images/img_0083.jpg (deflated 1%)
updating: predicted_images/img_0734.jpg (deflated 1%)
updating: predicted_images/img_0925.jpg (deflated 1%)
updating: predicted_images/img_0835.jpg (deflated 1%)
updating: predicted_images/img_0974.jpg (deflated 1%)
updating: predicted_images/img_0160.jpg (deflated 1%)
updating: predicted_images/img_0172.jpg (deflated 1%)
updating: predicted_images/img_0249.jpg (deflated 1%)
updating: predicted_images/img_0248.jpg (deflated 2%)
updating: predicted_images/img_0407.jpg (deflated 1%)
updating: predicted_images/img_0772.jpg (deflated 1%)
updating: predicted_images/img_0437.jpg (deflated 1%)
updating: predicted_images/img_0185.jpg (deflated 2%)
updating: predicted_images/img_0685.jpg (deflated 1%)
updating: predicted_images/img_0335.jpg (deflated 1%)
updating: predicted_images/img_0993.jpg (deflated 1%)
updating: predicted_images/img_0229.jpg (deflated 2%)
updating: predicted_images/img_0575.jpg (deflated 1%)
updating: predicted_images/img_0487.jpg (deflated 1%)
updating: predicted_images/img_0532.jpg (deflated 1%)
updating: predicted_images/img_0048.jpg (deflated 1%)
updating: predicted_images/img_0656.jpg (deflated 1%)
updating: predicted_images/img_0611.jpg (deflated 1%)
updating: predicted_images/img_0155.jpg (deflated 1%)
updating: predicted_images/img_0434.jpg (deflated 1%)
updating: predicted_images/img_0174.jpg (deflated 1%)
updating: predicted_images/img_0140.jpg (deflated 1%)
updating: predicted_images/img_0936.jpg (deflated 1%)
updating: predicted_images/img_0512.jpg (deflated 1%)
updating: predicted_images/img_0169.jpg (deflated 1%)
updating: predicted_images/img_0336.jpg (deflated 1%)
updating: predicted_images/img_0214.jpg (deflated 1%)
updating: predicted_images/img_0478.jpg (deflated 1%)
updating: predicted_images/img_0220.jpg (deflated 1%)
updating: predicted_images/img_0109.jpg (deflated 1%)
updating: predicted_images/img_0030.jpg (deflated 1%)
updating: predicted_images/img_0118.jpg (deflated 1%)
updating: predicted_images/img_0201.jpg (deflated 2%)
updating: predicted_images/img_0089.jpg (deflated 1%)
updating: predicted_images/img_0594.jpg (deflated 1%)
updating: predicted_images/img_0503.jpg (deflated 1%)
updating: predicted_images/img_0346.jpg (deflated 1%)
updating: predicted_images/img_0606.jpg (deflated 2%)
updating: predicted_images/img_0170.jpg (deflated 1%)
updating: predicted_images/img_0073.jpg (deflated 1%)
updating: predicted_images/img_0623.jpg (deflated 1%)
updating: predicted_images/img_0741.jpg (deflated 1%)
updating: predicted_images/img_0645.jpg (deflated 1%)
updating: predicted_images/img_0131.jpg (deflated 1%)
updating: predicted_images/img_0190.jpg (deflated 3%)
updating: predicted_images/img_0673.jpg (deflated 1%)
updating: predicted_images/img_0500.jpg (deflated 2%)
updating: predicted_images/img_0824.jpg (deflated 1%)
updating: predicted_images/img_0067.jpg (deflated 1%)
updating: predicted_images/img_0527.jpg (deflated 1%)
updating: predicted_images/img_0141.jpg (deflated 2%)
updating: predicted_images/img_0449.jpg (deflated 4%)
updating: predicted_images/img_0396.jpg (deflated 1%)
updating: predicted_images/img_0361.jpg (deflated 1%)
updating: predicted_images/img_0120.jpg (deflated 1%)
updating: predicted_images/img_0394.jpg (deflated 1%)
updating: predicted_images/img_0744.jpg (deflated 1%)
updating: predicted_images/img_0769.jpg (deflated 1%)
updating: predicted_images/img_0245.jpg (deflated 1%)
updating: predicted_images/img_0318.jpg (deflated 1%)
updating: predicted_images/img_0499.jpg (deflated 1%)
updating: predicted_images/img_0731.jpg (deflated 1%)
updating: predicted_images/img_0903.jpg (deflated 1%)
updating: predicted_images/img_0843.jpg (deflated 1%)
updating: predicted_images/img_0845.jpg (deflated 1%)
updating: predicted_images/img_0906.jpg (deflated 1%)
updating: predicted_images/img_0345.jpg (deflated 1%)
updating: predicted_images/img_0825.jpg (deflated 1%)
updating: predicted_images/img_0294.jpg (deflated 1%)
updating: predicted_images/img_0224.jpg (deflated 1%)
updating: predicted_images/img_0008.jpg (deflated 1%)
updating: predicted_images/img_0427.jpg (deflated 1%)
updating: predicted_images/img_0219.jpg (deflated 1%)
updating: predicted_images/img_0450.jpg (deflated 0%)
updating: predicted_images/img_0010.jpg (deflated 1%)
updating: predicted_images/img_0186.jpg (deflated 1%)
updating: predicted_images/img_0564.jpg (deflated 1%)
updating: predicted_images/img_0212.jpg (deflated 2%)
updating: predicted_images/img_0617.jpg (deflated 2%)
updating: predicted_images/img_0102.jpg (deflated 1%)
updating: predicted_images/img_0529.jpg (deflated 1%)
updating: predicted_images/img_0096.jpg (deflated 1%)
updating: predicted_images/img_0472.jpg (deflated 1%)
updating: predicted_images/img_0669.jpg (deflated 1%)
updating: predicted_images/img_0806.jpg (deflated 1%)
updating: predicted_images/img_0206.jpg (deflated 1%)
updating: predicted_images/img_0440.jpg (deflated 1%)
updating: predicted_images/img_0130.jpg (deflated 1%)
updating: predicted_images/img_0684.jpg (deflated 1%)
updating: predicted_images/img_0813.jpg (deflated 1%)
updating: predicted_images/img_0583.jpg (deflated 1%)
updating: predicted_images/img_0522.jpg (deflated 1%)
updating: predicted_images/img_0658.jpg (deflated 1%)
updating: predicted_images/img_0930.jpg (deflated 1%)
updating: predicted_images/img_0771.jpg (deflated 1%)
updating: predicted_images/img_0417.jpg (deflated 1%)
updating: predicted_images/img_0652.jpg (deflated 1%)
updating: predicted_images/img_0205.jpg (deflated 6%)
updating: predicted_images/img_0364.jpg (deflated 1%)
updating: predicted_images/img_0433.jpg (deflated 1%)
updating: predicted_images/img_0992.jpg (deflated 1%)
updating: predicted_images/img_0506.jpg (deflated 1%)
updating: predicted_images/img_0555.jpg (deflated 1%)
updating: predicted_images/img_0659.jpg (deflated 1%)
updating: predicted_images/img_0839.jpg (deflated 1%)
updating: predicted_images/img_0298.jpg (deflated 1%)
updating: predicted_images/img_0696.jpg (deflated 1%)
updating: predicted_images/img_0282.jpg (deflated 1%)
updating: predicted_images/img_0546.jpg (deflated 1%)
updating: predicted_images/img_0481.jpg (deflated 1%)
updating: predicted_images/img_0964.jpg (deflated 1%)
updating: predicted_images/img_0105.jpg (deflated 1%)
updating: predicted_images/img_0846.jpg (deflated 1%)
updating: predicted_images/img_0585.jpg (deflated 1%)
updating: predicted_images/img_0441.jpg (deflated 2%)
updating: predicted_images/img_0476.jpg (deflated 1%)
updating: predicted_images/img_0178.jpg (deflated 2%)
updating: predicted_images/img_0710.jpg (deflated 1%)
updating: predicted_images/img_0377.jpg (deflated 1%)
updating: predicted_images/img_0561.jpg (deflated 1%)
updating: predicted_images/img_0274.jpg (deflated 2%)
updating: predicted_images/img_0872.jpg (deflated 1%)
updating: predicted_images/img_0653.jpg (deflated 1%)
updating: predicted_images/img_0714.jpg (deflated 1%)
updating: predicted_images/img_0778.jpg (deflated 1%)
updating: predicted_images/img_0416.jpg (deflated 1%)
updating: predicted_images/img_0881.jpg (deflated 1%)
updating: predicted_images/img_0540.jpg (deflated 1%)
updating: predicted_images/img_0571.jpg (deflated 1%)
updating: predicted_images/img_0135.jpg (deflated 1%)
updating: predicted_images/img_0556.jpg (deflated 1%)
updating: predicted_images/img_0650.jpg (deflated 1%)
updating: predicted_images/img_0793.jpg (deflated 1%)
updating: predicted_images/img_0313.jpg (deflated 1%)
updating: predicted_images/img_0163.jpg (deflated 1%)
updating: predicted_images/img_0303.jpg (deflated 1%)
updating: predicted_images/img_0957.jpg (deflated 1%)
updating: predicted_images/img_0195.jpg (deflated 1%)
updating: predicted_images/img_0167.jpg (deflated 1%)
updating: predicted_images/img_0966.jpg (deflated 1%)
updating: predicted_images/img_0539.jpg (deflated 1%)
updating: predicted_images/img_0901.jpg (deflated 1%)
updating: predicted_images/img_0304.jpg (deflated 2%)
updating: predicted_images/img_0042.jpg (deflated 1%)
updating: predicted_images/img_0134.jpg (deflated 1%)
updating: predicted_images/img_0907.jpg (deflated 1%)
updating: predicted_images/img_0924.jpg (deflated 1%)
updating: predicted_images/img_0747.jpg (deflated 1%)
updating: predicted_images/img_0828.jpg (deflated 1%)
updating: predicted_images/img_0870.jpg (deflated 1%)
updating: predicted_images/img_0323.jpg (deflated 1%)
updating: predicted_images/img_0213.jpg (deflated 1%)
updating: predicted_images/img_0914.jpg (deflated 1%)
updating: predicted_images/img_0367.jpg (deflated 1%)
updating: predicted_images/img_0392.jpg (deflated 1%)
updating: predicted_images/img_0713.jpg (deflated 1%)
updating: predicted_images/img_0242.jpg (deflated 1%)
updating: predicted_images/img_0675.jpg (deflated 0%)
updating: predicted_images/img_0721.jpg (deflated 1%)
updating: predicted_images/img_0467.jpg (deflated 1%)
updating: predicted_images/img_0616.jpg (deflated 1%)
updating: predicted_images/img_0429.jpg (deflated 1%)
updating: predicted_images/img_0180.jpg (deflated 1%)
updating: predicted_images/img_0097.jpg (deflated 1%)
updating: predicted_images/img_0208.jpg (deflated 1%)
updating: predicted_images/img_0273.jpg (deflated 2%)
updating: predicted_images/img_0218.jpg (deflated 1%)
updating: predicted_images/img_0466.jpg (deflated 1%)
updating: predicted_images/img_0029.jpg (deflated 1%)
updating: predicted_images/img_0838.jpg (deflated 1%)
updating: predicted_images/img_0459.jpg (deflated 1%)
updating: predicted_images/img_0523.jpg (deflated 1%)
updating: predicted_images/img_0222.jpg (deflated 1%)
updating: predicted_images/img_0125.jpg (deflated 1%)
updating: predicted_images/img_0940.jpg (deflated 1%)
updating: predicted_images/img_0790.jpg (deflated 1%)
updating: predicted_images/img_0942.jpg (deflated 1%)
updating: predicted_images/img_0504.jpg (deflated 1%)
updating: predicted_images/img_0889.jpg (deflated 1%)
updating: predicted_images/img_0865.jpg (deflated 1%)
updating: predicted_images/img_0315.jpg (deflated 1%)
updating: predicted_images/img_0287.jpg (deflated 1%)
updating: predicted_images/img_0302.jpg (deflated 1%)
updating: predicted_images/img_0071.jpg (deflated 1%)
updating: predicted_images/img_0918.jpg (deflated 1%)
updating: predicted_images/img_0355.jpg (deflated 1%)
updating: predicted_images/img_0691.jpg (deflated 1%)
updating: predicted_images/img_0370.jpg (deflated 1%)
updating: predicted_images/img_0665.jpg (deflated 1%)
updating: predicted_images/img_0859.jpg (deflated 1%)
updating: predicted_images/img_0894.jpg (deflated 1%)
updating: predicted_images/img_0425.jpg (deflated 1%)
updating: predicted_images/img_0139.jpg (deflated 1%)
updating: predicted_images/img_0833.jpg (deflated 1%)
updating: predicted_images/img_0325.jpg (deflated 2%)
updating: predicted_images/img_0317.jpg (deflated 1%)
updating: predicted_images/img_0275.jpg (deflated 1%)
updating: predicted_images/img_0136.jpg (deflated 1%)
updating: predicted_images/img_0592.jpg (deflated 1%)
updating: predicted_images/img_0634.jpg (deflated 1%)
updating: predicted_images/img_0531.jpg (deflated 1%)
updating: predicted_images/img_0129.jpg (deflated 1%)
updating: predicted_images/img_0781.jpg (deflated 1%)
updating: predicted_images/img_0311.jpg (deflated 1%)
updating: predicted_images/img_0502.jpg (deflated 1%)
updating: predicted_images/img_0454.jpg (deflated 1%)
updating: predicted_images/img_0521.jpg (deflated 1%)
updating: predicted_images/img_0457.jpg (deflated 1%)
updating: predicted_images/img_0379.jpg (deflated 1%)
updating: predicted_images/img_0577.jpg (deflated 1%)
updating: predicted_images/img_0655.jpg (deflated 1%)
updating: predicted_images/img_0928.jpg (deflated 1%)
updating: predicted_images/img_0085.jpg (deflated 2%)
updating: predicted_images/img_0837.jpg (deflated 1%)
updating: predicted_images/img_0408.jpg (deflated 2%)
updating: predicted_images/img_0121.jpg (deflated 1%)
updating: predicted_images/img_0188.jpg (deflated 1%)
updating: predicted_images/img_0722.jpg (deflated 1%)
updating: predicted_images/img_0608.jpg (deflated 1%)
updating: predicted_images/img_0530.jpg (deflated 1%)
updating: predicted_images/img_0484.jpg (deflated 1%)
updating: predicted_images/img_0589.jpg (deflated 1%)
updating: predicted_images/img_0952.jpg (deflated 1%)
updating: predicted_images/img_0471.jpg (deflated 1%)
updating: predicted_images/img_0549.jpg (deflated 1%)
updating: predicted_images/img_0915.jpg (deflated 1%)
updating: predicted_images/img_0871.jpg (deflated 1%)
updating: predicted_images/img_0971.jpg (deflated 1%)
updating: predicted_images/img_0277.jpg (deflated 1%)
updating: predicted_images/img_0353.jpg (deflated 1%)
updating: predicted_images/img_0601.jpg (deflated 1%)
updating: predicted_images/img_0077.jpg (deflated 1%)
updating: predicted_images/img_0939.jpg (deflated 1%)
updating: predicted_images/img_0830.jpg (deflated 1%)
updating: predicted_images/img_0827.jpg (deflated 1%)
updating: predicted_images/img_0978.jpg (deflated 1%)
updating: predicted_images/img_0460.jpg (deflated 1%)
updating: predicted_images/img_0469.jpg (deflated 1%)
updating: predicted_images/img_0493.jpg (deflated 1%)
updating: predicted_images/img_0145.jpg (deflated 1%)
updating: predicted_images/img_0858.jpg (deflated 1%)
updating: predicted_images/img_0024.jpg (deflated 1%)
updating: predicted_images/img_0884.jpg (deflated 1%)
updating: predicted_images/img_0802.jpg (deflated 1%)
updating: predicted_images/img_0712.jpg (deflated 1%)
updating: predicted_images/img_0864.jpg (deflated 1%)
updating: predicted_images/img_0084.jpg (deflated 1%)
updating: predicted_images/img_0698.jpg (deflated 1%)
updating: predicted_images/img_0584.jpg (deflated 1%)
updating: predicted_images/img_0849.jpg (deflated 1%)
updating: predicted_images/img_0742.jpg (deflated 1%)
updating: predicted_images/img_0111.jpg (deflated 1%)
updating: predicted_images/img_0187.jpg (deflated 1%)
updating: predicted_images/img_0241.jpg (deflated 2%)
updating: predicted_images/img_0217.jpg (deflated 1%)
updating: predicted_images/img_0945.jpg (deflated 1%)
updating: predicted_images/img_0946.jpg (deflated 1%)
updating: predicted_images/img_0944.jpg (deflated 1%)
updating: predicted_images/img_0545.jpg (deflated 2%)
updating: predicted_images/img_0254.jpg (deflated 1%)
updating: predicted_images/img_0820.jpg (deflated 1%)
updating: predicted_images/img_0979.jpg (deflated 1%)
updating: predicted_images/img_0152.jpg (deflated 1%)
updating: predicted_images/img_0175.jpg (deflated 1%)
updating: predicted_images/img_0560.jpg (deflated 1%)
updating: predicted_images/img_0910.jpg (deflated 1%)
updating: predicted_images/img_0164.jpg (deflated 1%)
updating: predicted_images/img_0267.jpg (deflated 1%)
updating: predicted_images/img_0072.jpg (deflated 1%)
updating: predicted_images/img_0376.jpg (deflated 1%)
updating: predicted_images/img_0972.jpg (deflated 1%)
updating: predicted_images/img_0733.jpg (deflated 1%)
updating: predicted_images/img_0256.jpg (deflated 1%)
updating: predicted_images/img_0005.jpg (deflated 1%)
updating: predicted_images/img_0446.jpg (deflated 1%)
updating: predicted_images/img_0162.jpg (deflated 1%)
updating: predicted_images/img_0511.jpg (deflated 1%)
updating: predicted_images/img_0615.jpg (deflated 1%)
updating: predicted_images/img_0227.jpg (deflated 1%)
updating: predicted_images/img_0816.jpg (deflated 1%)
updating: predicted_images/img_0990.jpg (deflated 4%)
updating: predicted_images/img_0285.jpg (deflated 5%)
updating: predicted_images/img_0635.jpg (deflated 2%)
updating: predicted_images/img_0329.jpg (deflated 1%)
updating: predicted_images/img_0877.jpg (deflated 2%)
updating: predicted_images/img_0196.jpg (deflated 1%)
updating: predicted_images/img_0215.jpg (deflated 1%)
updating: predicted_images/img_0357.jpg (deflated 1%)
updating: predicted_images/img_0513.jpg (deflated 1%)
updating: predicted_images/img_0796.jpg (deflated 1%)
updating: predicted_images/img_0819.jpg (deflated 1%)
updating: predicted_images/img_0620.jpg (deflated 1%)
updating: predicted_images/img_0676.jpg (deflated 1%)
updating: predicted_images/img_0969.jpg (deflated 1%)
updating: predicted_images/img_0210.jpg (deflated 1%)
updating: predicted_images/img_0709.jpg (deflated 1%)
updating: predicted_images/img_0679.jpg (deflated 1%)
updating: predicted_images/img_0362.jpg (deflated 1%)
updating: predicted_images/img_0567.jpg (deflated 1%)
updating: predicted_images/img_0497.jpg (deflated 1%)
updating: predicted_images/img_0004.jpg (deflated 1%)
updating: predicted_images/img_0738.jpg (deflated 1%)
updating: predicted_images/img_0075.jpg (deflated 4%)
updating: predicted_images/img_0239.jpg (deflated 1%)
updating: predicted_images/img_0569.jpg (deflated 1%)
updating: predicted_images/img_0862.jpg (deflated 1%)
updating: predicted_images/img_0953.jpg (deflated 1%)
updating: predicted_images/img_0641.jpg (deflated 1%)
updating: predicted_images/img_0388.jpg (deflated 2%)
updating: predicted_images/img_0573.jpg (deflated 1%)
updating: predicted_images/img_0154.jpg (deflated 1%)
updating: predicted_images/img_0115.jpg (deflated 1%)
updating: predicted_images/img_0014.jpg (deflated 1%)
updating: predicted_images/img_0230.jpg (deflated 2%)
updating: predicted_images/img_0347.jpg (deflated 1%)
updating: predicted_images/img_0811.jpg (deflated 1%)
updating: predicted_images/img_0448.jpg (deflated 1%)
updating: predicted_images/img_0702.jpg (deflated 1%)
updating: predicted_images/img_0349.jpg (deflated 1%)
updating: predicted_images/img_0784.jpg (deflated 1%)
updating: predicted_images/img_0043.jpg (deflated 1%)
updating: predicted_images/img_0911.jpg (deflated 1%)
updating: predicted_images/img_0099.jpg (deflated 5%)
updating: predicted_images/img_0891.jpg (deflated 1%)
updating: predicted_images/img_0501.jpg (deflated 1%)
updating: predicted_images/img_0956.jpg (deflated 1%)
updating: predicted_images/img_0022.jpg (deflated 5%)
updating: predicted_images/img_0495.jpg (deflated 1%)
updating: predicted_images/img_0235.jpg (deflated 1%)
updating: predicted_images/img_0480.jpg (deflated 2%)
updating: predicted_images/img_0015.jpg (deflated 1%)
updating: predicted_images/img_0354.jpg (deflated 1%)
updating: predicted_images/img_0538.jpg (deflated 1%)
updating: predicted_images/img_0779.jpg (deflated 1%)
updating: predicted_images/img_0774.jpg (deflated 1%)
updating: predicted_images/img_0783.jpg (deflated 1%)
updating: predicted_images/img_0037.jpg (deflated 1%)
updating: predicted_images/img_0848.jpg (deflated 1%)
updating: predicted_images/img_0895.jpg (deflated 1%)
In [0]:
from google.colab import files
files.download('predicted_images.zip') 
In [0]: